upbound / universal-crossplane

Enterprise-grade @crossplane from @upbound
https://upbound.io/product/universal-crossplane
Apache License 2.0
124 stars 32 forks source link

Fix multi-platform builds for arm64 #467

Closed negz closed 3 months ago

negz commented 3 months ago

Description of your changes

Currently we're somehow building a multi-platform image (i.e. manifest list) but the arm64 image has an amd64 bootstrapper binary in it. I'm honestly not exactly sure how this is happening.

In an attempt to fix it, I've copied the Makefile and Dockerfile from Crossplane v1.16 (before it moved to Earthly for image builds). I've verified that the arm64 image works locally - I think we need to actually build and push an image in CI to test multiplatform.

I have:

How has this code been tested

Just make build.all and then docker run build-f6f3baa5/uxp-bootstrapper-arm64 --help to verify it's built for the right architecture.

negz commented 3 months ago

For the record, this produced a working multi platform build.