[K9VULN-11525] Use cross-compilation / remove QEMU#814
Merged
jasonforal merged 3 commits intomainfrom Feb 13, 2026
Merged
Conversation
juli1
approved these changes
Feb 13, 2026
|
🎯 Code Coverage (details) 🔗 Commit SHA: 1b9ff99 | Docs | Datadog PR Page | Was this helpful? Give us feedback! |
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.
What problem are you trying to solve?
Our most recent release failed to release to GHCR due to QEMU segfaulting:

(Job)
What is your solution?
Rather than play perpetual whack-a-mole and try to keep QEMU stable, let's just get rid of it. We're using it to emulate and build for arm64, but Rust already has first-class support for cross-compilation.
Changes:
Dockerfileto be BuildKit-aware and handle platform/target architectures. Always pass target architecture intocargo build.docker-build.ymlGitHub Actions workflow to test cross compilation. Now, if this job passes, the GHCR publish will too.A side benefit is that now publishing to GHCR takes ~15 minutes instead of 2 hours:
Before (~2 hours)
After (~15 minutes)
Testing
CI Job
You can see the successful run of the new


docker-build.ymlfor this PR:(Job)
GHCR Publish
You can see the corresponding release on GHCR with both amd64 and arm64:

(Container)
Alternatives considered