Skip to content

Runners

Native arm64 GitHub Actions runners

Native Ampere and Graviton-class arm64 runners. No QEMU, no emulation penalty, 20% cheaper than the x64 equivalent.

Specifications

Architecture
aarch64, native
vCPU
2 – 64, dedicated
Memory
4 GB per vCPU
Price
20% below x64
Emulation
None

Runner labels

  • runnerhut-2vcpu-ubuntu-2404-arm
  • runnerhut-4vcpu-ubuntu-2404-arm
  • runnerhut-8vcpu-ubuntu-2404-arm
  • runnerhut-16vcpu-ubuntu-2404-arm

Building arm64 images on an x64 runner through QEMU is between 5× and 40× slower than building them natively, depending on how much the workload compiles. It is the single most common reason a multi-arch Docker build takes 25 minutes.

yaml
jobs:
build:
strategy:
matrix:
include:
- platform: linux/amd64
runner: runnerhut-8vcpu-ubuntu-2404
- platform: linux/arm64
runner: runnerhut-8vcpu-ubuntu-2404-arm
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v4
- uses: docker/build-push-action@v6
with:
platforms: ${{ matrix.platform }}
Native multi-arch without QEMU

What changes when you move to arm64

  • Native modules must have aarch64 builds — most popular ones now do
  • Python wheels resolve to manylinux_aarch64; a few packages still build from source
  • Any x86 assembly or SIMD intrinsics in your codebase need an arm path
  • Docker base images need arm64 variants, which almost all official images have

Your next build could be twice as fast, at half the price

Start free. Migrating away is the same one line, and we publish that diff too.