Skip to content

feat(ci): build container for linux/amd64 and linux/arm64#52

Merged
teslakoile merged 1 commit into
masterfrom
feat/ghcr-multi-arch
Apr 25, 2026
Merged

feat(ci): build container for linux/amd64 and linux/arm64#52
teslakoile merged 1 commit into
masterfrom
feat/ghcr-multi-arch

Conversation

@teslakoile

Copy link
Copy Markdown
Owner

Follow-up to #51. The published image was amd64-only, so anyone on Apple Silicon, AWS Graviton, or Raspberry Pi had to pull under emulation (verified locally — docker pull ghcr.io/teslakoile/huly-cli:latest on arm64 reports no matching manifest for linux/arm64/v8 without --platform linux/amd64).

What changed

  • Added docker/setup-qemu-action@v4.0.0 step before Buildx so the runner can cross-build for non-native platforms.
  • platforms: linux/amd64,linux/arm64 on the build-push step. Buildx produces a multi-arch manifest list; clients pull the matching arch automatically.

Notes

  • Build time roughly doubles (estimate ~30s → ~60s on the cached path) since arm64 builds under QEMU. Acceptable for a publish workflow that only fires on master and tags.
  • GHA cache (type=gha,mode=max) is per-platform, so subsequent builds still benefit from layer reuse.

Adds QEMU setup and multi-platform build to the GHCR workflow so users
on Apple Silicon, AWS Graviton, and Raspberry Pi pull native arm64
images instead of running amd64 under emulation. Build time roughly
doubles but the published manifest now resolves correctly on both
architectures.
@teslakoile teslakoile merged commit d019de5 into master Apr 25, 2026
1 check passed
@teslakoile teslakoile deleted the feat/ghcr-multi-arch branch April 25, 2026 15:09
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.

1 participant