firefly
firefly copied to clipboard
Use docker buildx for multiarch builds
This PR switches to the docker buildx
command for building images for multiple CPU architectures. Currently, the build jobs are set up to build linux/amd64
and linux/arm64
. This is set in the Makefile
. Because building a Docker image for a non-native CPU architecture is very slow (because it's emulated), mutiarch builds are not the default when running make docker
. Instead a new command, make docker-multiarch
has been added, which is used by our GitHub Actions.
NOTE: From my testing
docker buildx
seems to return status 0, despite the fact that it may have failed to push to a repository. This can result in false positives for our GitHub Actions. I looked into this and it seems to be an open issue withbuildx
https://github.com/docker/buildx/issues/732