Skip to content

ci: native per-arch builders (drop QEMU)#86

Merged
thejefflarson merged 2 commits into
mainfrom
feat/native-multiarch-builders
Jul 5, 2026
Merged

ci: native per-arch builders (drop QEMU)#86
thejefflarson merged 2 commits into
mainfrom
feat/native-multiarch-builders

Conversation

@thejefflarson

Copy link
Copy Markdown
Owner

Builds each architecture on its own native BuildKit builder and lets buildx merge the manifest, replacing QEMU-emulated arm64 (which ran for hours on Rust builds).

The cluster now runs two native BuildKit builders sharing one CA:

  • buildkit (amd64, node-3)
  • buildkit-arm64 (arm64 Pi)

The runner's existing client cert (BUILDKIT_TLS_DIR) authenticates to both. This PR keeps the primary remote endpoint for linux/amd64 and docker buildx create --appends the arm64 endpoint (tcp://buildkit-arm64.dev.svc.cluster.local:1234) with --platform linux/arm64, reusing the same cacert/cert/key and verifying each endpoint against its own server SAN via servername. build-push-action keeps platforms: linux/amd64,linux/arm64.

Note: this repo drives buildx via docker buildx create directly (not docker/setup-buildx-action), so the multi-node builder is assembled with --append rather than the action's append: block — same idea.

The server job's pre-existing cargo clippy -D warnings failure is unrelated to this change.

🤖 Generated with Claude Code

thejefflarson and others added 2 commits July 4, 2026 13:38
amd64 on buildkit (node-3) + arm64 on buildkit-arm64 (arm64 Pi), native; buildx merges. Same client cert (shared buildkit-ca). QEMU arm64 Rust builds ran for hours.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@thejefflarson thejefflarson merged commit c159945 into main Jul 5, 2026
5 of 8 checks passed
@thejefflarson thejefflarson deleted the feat/native-multiarch-builders branch July 5, 2026 05:12
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