SKIP_TO_MAIN_CONTENT
02.1 // ARM interface AWS Graviton Ubuntu 22.04 LTS

ARM64 runners.
Native, not emulated.

AWS Graviton runners on Ubuntu 22.04 LTS. Up to 85% cheaper than GitHub hosted. If your software runs on ARM in production, test it on ARM in CI.

01 Why arm
[REF_010]

Three
reasons.

REASON_01 // QEMU_FAILS

QEMU misses real bugs.

Running ARM builds on x64 via QEMU or cross-compilation works, mostly. But it's slower, and it misses the class of bugs you only hit on real ARM hardware — alignment issues, endianness edge cases, library builds that silently fall back to non-optimised paths.

REASON_02 // PRODUCTION_PARITY

Test where you ship.

If you ship to AWS Graviton, Apple Silicon, or any ARM server environment, a native ARM runner in CI is the only way to know your build actually works.

REASON_03 // COST

It's also cheaper.

ARM64 Graviton instances cost less than equivalent x64 at larger sizes. If you're running large builds or long test suites and don't need x64 specifically, Graviton is worth considering on cost alone.

> RESOLUTION

Run native ARM. One line.

02 Live pricing
[REF_PRICING] // LIVE_DATA

ARM64 Pricing

Live per-minute rates for ARM64 Graviton runners. Auto-refreshes every 30 seconds.

03 Yaml example
[REF_030]

8-core
ARM build
and test.

Add architecture=arm64 to your runs-on array. That's all.

EXAMPLE_01.YAML // ARM64_BUILD_TEST GRAVITON
jobs:
test-arm:
runs-on: [machine, cpu=8, architecture=arm64]
steps:
- uses: actions/checkout@v4
- name: Build and test (native ARM)
run: |
make build
make test
- name: Upload ARM binary
uses: actions/upload-artifact@v4
with:
name: binary-arm64
path: dist/myapp-arm64
04 Use cases
[REF_040] GRAVITON

Shipping to AWS Graviton

Test on the same architecture you deploy to. Stop finding Graviton-specific issues in production.

[REF_041] MULTI_ARCH

Multi-arch Docker image builds

Build native ARM layers without QEMU overhead. Faster builds, fewer mysterious failures.

[REF_042] APPLE_SILICON

Apple Silicon compatibility testing

ARM64 Linux isn't identical to macOS ARM, but they share the architecture. Catching issues here is better than finding them after shipping.

05 Initialize
READY
> ARM64_READY // AWAITING_INPUT

Test ARM on
real ARM.

$10 free compute. Connect your GitHub org in two minutes. $10 free compute, no credit card required.