Add native ARM64 GitHub Actions runner support by Copilot ยท Pull Request #1923 ยท hackmdio/codimd
This PR implements native ARM64 GitHub Actions runners to replace QEMU emulation for better performance and reliability.
Changes Made
๐ Docker Image Builds (push-image.yml)
- Before: All builds ran on
ubuntu-latestwith QEMU emulation for ARM64 - After: Native builds using appropriate runners:
- AMD64 builds:
ubuntu-latest - ARM64 builds:
ubuntu-24.04-arm64
- AMD64 builds:
- Removed: QEMU setup step (no longer needed for native builds)
- Result: Faster, more reliable ARM64 Docker image builds
๐งช Testing & Validation (build.yml)
- Before: Tests only ran on
ubuntu-latest(AMD64) - After: Matrix testing on both architectures:
ubuntu-latest(AMD64)ubuntu-24.04-arm64(ARM64)
- Result: Comprehensive cross-platform testing ensures code compatibility
Key Benefits
- ๐โโ๏ธ Performance: Native ARM64 execution vs emulated builds
- ๐ Coverage: Testing on both AMD64 and ARM64 platforms
- ๐ ๏ธ Maintenance: Cleaner workflows without QEMU complexity
- ๐ฎ Future-ready: Uses latest GitHub Actions ARM64 runners
Technical Details
The changes use GitHub's native ARM64 runners (ubuntu-24.04-arm) which provide:
- Better performance than QEMU emulation
- Native ARM64 instruction execution
- More reliable builds for ARM64 Docker images
Impact: Minimal changes (8 additions, 8 deletions) with no breaking changes to existing functionality.
Fixes #1922.
Warning
Firewall rules blocked me from connecting to one or more addresses
I tried to connect to the following addresses, but was blocked by firewall rules:
api.github.com- Triggering command:
node download.js(dns block)
- Triggering command:
api.nektosact.com- Triggering command:
act --list(dns block) - Triggering command:
act --list --workflows=.github/workflows/build.yml(dns block) - Triggering command:
act --list --workflows=.github/workflows/push-image.yml(dns block)
- Triggering command:
If you need me to access, download, or install something from one of these locations, you can either:
- Configure Actions setup steps to set up my environment, which run before the firewall is enabled
- Add the appropriate URLs or hosts to my firewall allow list
blocked by #1926
๐ฌ Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.