From d6b70113bf049609a0332308b16c070ddecf9778 Mon Sep 17 00:00:00 2001 From: Adrian Bienkowski Date: Sun, 13 Sep 2026 13:21:41 -0400 Subject: [PATCH] fix(release): set up QEMU and Buildx before multi-arch Docker builds 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 --- .github/workflows/release.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0149f5e..6601e9b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -101,6 +101,12 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Docker image build, SBOM, and Cosign steps only run in the amd64 job. # buildx handles multi-arch in a single operation (platforms: linux/amd64,linux/arm64). + - if: matrix.goarch == 'amd64' + name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - if: matrix.goarch == 'amd64' + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 - if: matrix.goarch == 'amd64' name: Log in to GHCR uses: docker/login-action@v4 @@ -202,6 +208,12 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Docker image build, SBOM, and Cosign steps only run in the amd64 job. + - if: matrix.arch_name == 'amd64' + name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - if: matrix.arch_name == 'amd64' + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 - if: matrix.arch_name == 'amd64' name: Log in to GHCR uses: docker/login-action@v4 @@ -286,6 +298,10 @@ jobs: --clobber env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 - name: Log in to GHCR uses: docker/login-action@v4 with: