Skip to content

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

Description

@abienkowski

Symptom

Every Release run on main since v0.2.14 is red (runs for a4a7a28, 8f7e283, b15a6aa, 15c0e28). release-go (amd64) and release-rust (x86_64-unknown-linux-musl) fail at the "Build and push … Docker image (multi-arch)" 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.

publish-release is skipped, so v0.2.15, v0.2.16 and v0.2.17 exist only as tags + draft prereleases with partial assets.

Cause

#31 switched the image steps to platforms: linux/amd64,linux/arm64 but never added docker/setup-buildx-action, so build-push-action runs on the default docker driver, which cannot build multi-platform.

  • b15a6aa tried to add the step but mis-indented the - if: lines → the workflow file failed to parse (run had zero jobs).
  • 15c0e28 fixed the YAML by deleting the step again, so main regressed to the original failure.

Additionally, both Dockerfiles compile inside the image per target platform (no --platform=$BUILDPLATFORM), so the arm64 leg also needs docker/setup-qemu-action for binfmt emulation.

Fix

Add setup-qemu-action + setup-buildx-action before each GHCR login (Go amd64 leg, Rust amd64 leg, TS) — PR #33.

Follow-ups (not blocking)

  • Delete the orphaned v0.2.15–v0.2.17 draft prereleases and tags.
  • arm64 image legs now compile under QEMU and will be slow; consider COPYing the cross-built binaries into the image instead of rebuilding (touches the StageX reproducible-build setup, so a separate decision).
  • setup-rust-toolchain logs could not find Cargo.toml because its cache step runs at repo root; cache-workspaces: rs silences it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Priority: P1Added to issues and PRs relating to a high severity bugs.Type: BugAdded to issues and PRs if they are addressing a bug

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions