Skip to content

fix(release): set up QEMU and Buildx before multi-arch Docker builds - #33

Open
abienkowski wants to merge 1 commit into
mainfrom
fix/release-setup-buildx
Open

fix(release): set up QEMU and Buildx before multi-arch Docker builds#33
abienkowski wants to merge 1 commit into
mainfrom
fix/release-setup-buildx

Conversation

@abienkowski

@abienkowski abienkowski commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator

Closes #34

Why every release since #31 is red

release-go (amd64) and release-rust (x86_64…) fail at the multi-arch image step:

ERROR: failed to build: Multi-platform build is not supported for the docker driver.
Switch to a different driver, or turn on the containerd image store, and try again.

The jobs build linux/amd64,linux/arm64 but never create a buildx builder. b15a6aa added docker/setup-buildx-action with a mis-indented - if: (YAML failed to parse, run had zero jobs); 15c0e28 removed the step again while fixing the indentation, so main is back to the docker driver.

Fix

Add docker/setup-qemu-action@v3 + docker/setup-buildx-action@v3 before each Log in to GHCR step (Go amd64 leg, Rust amd64 leg, TS). QEMU is required as well: both Dockerfiles compile inside the image for each target platform, so the arm64 leg runs under emulation (expect that leg to be slow).

Once merged, the next push to main releases as v0.2.18. The v0.2.15–v0.2.17 draft prereleases left behind by the failed runs can be deleted independently.

🤖 Generated with Claude Code

The Go and Rust image steps build for linux/amd64,linux/arm64 but the
jobs never created a buildx builder, so build-push-action ran on the
default `docker` driver and failed every release since #31:

  ERROR: failed to build: Multi-platform build is not supported for the
  docker driver.

b15a6aa added setup-buildx-action but with a mis-indented `- if:` that
made the workflow unparseable; 15c0e28 then dropped the step again while
fixing the YAML. Re-add it (correctly indented) before each GHCR login,
plus setup-qemu-action: both Dockerfiles compile inside the image per
target platform, so the arm64 leg needs binfmt emulation.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Release workflow fails on every push to main since #31: multi-arch image build has no buildx builder

1 participant