bake-action
bake-action copied to clipboard
Building on multiple native nodes
This a great, github action. Makes it super easy to get all our required docker images built and published in CI.
Is it possible to support building across multiple native nodes? When building our images for both linux/arm64
and linux/amd64
using QEMU, the build takes 60 minutes in CI. By splitting the build to run on two separate native nodes the build time is reduced to 15 minutes.
The only problem with this approach is that both builds push their own manifest separately instead of a combined one at the end. So the latest pushed image only knows of a single platform.
I started with the multi node approach, but then separated manifest is a no deal.
I agree, it makes multi node builds unusable. I was hoping there's some way of building multiple nodes and generating the manifest at the end.
🤔 Looks like this thecnique can be adapted for doing it.
https://github.com/docker/setup-buildx-action/pull/165 could fix this. See https://github.com/crazy-max/docker-setup-buildx-action/blob/append/docs/advanced/append-nodes.md for more info.
Live example available: https://github.com/docker/packaging/blob/fe177e05bb5a23115813f1c476705c3ae7039c32/.github/workflows/.release.yml#L66-L87