feat: migrate devcontainer build from QEMU to native ARM64 runners#5506
Merged
feat: migrate devcontainer build from QEMU to native ARM64 runners#5506
Conversation
Replace QEMU emulation with GitHub's native ARM64 runners for 22x faster builds. Use matrix strategy with push-by-digest pattern for multi-platform image creation. Key changes: - Remove QEMU setup, add matrix build on ubuntu-24.04-arm - Implement push-by-digest pattern with artifact-based merge - Add digest validation and platform verification - Scope GHA cache per platform to prevent thrashing - Reduce timeouts (build: 4h, merge: 30m) Expected performance: 22x faster ARM64 builds (33.5min → 1.5min based on real-world benchmarks). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Docker registry names must be lowercase. Changed from github.repository_owner (which can be uppercase) to hardcoded lowercase 'prql'.
Member
Author
🔍 Testing StatusWhat's been tested:
What hasn't been tested yet:
Why the merge job was skipped:
This is the correct security model - PRs shouldn't push to the registry. To verify after merge:
The merge logic is straightforward (download artifacts → create manifest → verify), but we won't know if it works until after merge. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replace QEMU emulation with GitHub's native ARM64 runners for significantly faster builds. Uses matrix strategy with push-by-digest pattern for multi-platform image creation.
Changes
ubuntu-24.04-armrunners (free for public repos)Performance Results
Actual build times from CI:
These are similar to current times since the devcontainer build is relatively light. The real benefit comes with heavier builds where QEMU emulation causes 9-22x slowdowns.
Test Results
✅ Both platform builds completed successfully
✅ Build artifacts exported correctly
✅ GHA cache working per-platform
✅ All CI checks passing
Notes
push: true)prqlinstead ofPRQL) per Docker registry requirements🤖 Generated with Claude Code