Skip to content

Conversation

@sheurich
Copy link
Contributor

@sheurich sheurich commented Jan 8, 2026

Removes forced amd64 cross-compilation. Builds now run natively for the host architecture.

This is a focused subset of #8389, extracting only the changes needed for native ARM builds without CI workflow modifications.

The upstream CI currently runs on amd64 only. A future PR can add parallel arm64 runners to produce multi-platform binaries and container images.

Changes

  • tools/container-build.sh: Detect host architecture instead of forcing amd64 on ARM.
  • Containerfile: Add TARGETPLATFORM arg for correct Go binary download.
  • tools/make-deb.sh: Accept ARCH from caller for deb packaging. ARCH env var is now required.
  • Artifact naming: Standardized to amd64/arm64 (previously x86_64).
  • Bug fix: Removed errant trailing . from tar command.
  • Cleanup: Added .github to .dockerignore and build artifact patterns to .gitignore.

Testing

Native builds work on both architectures:

GO_VERSION=1.25.5 ./tools/container-build.sh
# arm64 host → arm64 artifacts ✓
# amd64 host → amd64 artifacts ✓

Cross-compilation via QEMU is not supported (Go assembler segfaults under emulation). For multi-platform binaries, use native runners for each architecture.

@sheurich sheurich requested a review from a team as a code owner January 8, 2026 14:52
@sheurich sheurich requested a review from jsha January 8, 2026 14:52
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