codimd icon indicating copy to clipboard operation
codimd copied to clipboard

Add native ARM64 GitHub Actions runner support

Open Copilot opened this issue 5 months ago โ€ข 7 comments
trafficstars

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-latest with QEMU emulation for ARM64
  • After: Native builds using appropriate runners:
    • AMD64 builds: ubuntu-latest
    • ARM64 builds: ubuntu-24.04-arm64
  • 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)
  • 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)

If you need me to access, download, or install something from one of these locations, you can either:


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.

Copilot avatar Jun 11 '25 09:06 Copilot