getsentry / craft

The universal Sentry release CLI 🚀
MIT License
133 stars 15 forks source link

Craft does not correctly push multi arch images #541

Closed Dav1dde closed 1 month ago

Dav1dde commented 5 months ago

Environment

Running in Relay CI

Steps to Reproduce

Relay has a craft config which pushes docker containers. The source container is a multi arch container, the pushed container is not.

Expected Result

Craft should copy the multi arch container correctly.

Actual Result

The container is for a single arch. See also: https://github.com/getsentry/relay/issues/3731

BYK commented 5 months ago

Sounds like we need a platforms config option for the docker target?

Dav1dde commented 5 months ago

The problem with multiarch images is, you need to build the manifest once and cant incrementally push single archs. Which means a platforms option is most likely not going to work.

In Relay CI we use regctl to move/copy multiarch images, this would be a simple option and could be gated behind a multiarch: true option, to not always require the dependeny.

The alternative I believe is to rebuild the multiarch manifest with docker buildx imagetools, which still seems to be very experimental.