Skip to content

Publish multi-arch (amd64 + arm64) container images#15

Open
scotwells wants to merge 2 commits into
mainfrom
multiarch-build
Open

Publish multi-arch (amd64 + arm64) container images#15
scotwells wants to merge 2 commits into
mainfrom
multiarch-build

Conversation

@scotwells
Copy link
Copy Markdown
Contributor

Summary

Our published container images are currently amd64-only, which means anyone running on Apple Silicon (M1/M2/M3/M4) or arm64 Linux has to fall back to slow emulation or cannot run the image at all. This PR turns on multi-arch publishing so we ship both linux/amd64 and linux/arm64 from the same release.

The build is configured to compile natively for each target architecture from a single host, rather than emulating arm64 under QEMU. In local testing a full two-architecture build completed in about 1 minute, compared to 15+ minutes when relying on emulation. This unblocks Apple Silicon developers and cuts CI time significantly.

As a small bonus, version, git commit, tree state, and build date are now baked into the binary and logged at startup, which makes it easier to tell which build is running in a given environment.

Test plan

  • CI publish workflow succeeds and pushes a multi-arch manifest
  • docker manifest inspect on the published image shows both linux/amd64 and linux/arm64
  • Image pulls and runs on an Apple Silicon workstation without emulation warnings
  • Container logs show the new starting fraud line with version metadata

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

scotwells and others added 2 commits April 8, 2026 21:15
Force the builder stage to run on the host BUILDPLATFORM and
cross-compile to TARGETARCH natively, avoiding QEMU emulation on
arm64. Also wire version metadata through ldflags and bump the
publish workflow to emit both linux/amd64 and linux/arm64.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@scotwells scotwells requested a review from zachsmith1 April 30, 2026 22:04
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.

2 participants