GitHub Actions on ARM64: ubuntu-24.04-arm, prices, and building arm64 images natively
Updated · prices and specs read on 24 Oct 2026
Set runs-on: ubuntu-24.04-arm to run a GitHub Actions job on a GitHub-hosted ARM64 Linux runner: in a public repository it is a standard runner (4 vCPU, 16 GB, free), in a private one it has 2 vCPU and 8 GB and costs $0.005 a minute, a sixth less than the x64 runner of the same size.
The switch is one line
jobs:
test:
runs-on: ubuntu-24.04-arm # was: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: 24
- run: npm ci && npm test
To run the same job on both architectures, put the label in a matrix:
jobs:
test:
strategy:
matrix:
runner: [ubuntu-24.04, ubuntu-24.04-arm]
runs-on: ${{ matrix.runner }}
What GitHub’s ARM64 runners hold and cost
| Label | Repository | vCPU | Memory | Disk | Price per minute |
|---|---|---|---|---|---|
ubuntu-24.04-arm (also -22.04-arm, -26.04-arm) |
public | 4 | 16 GB | 14 GB | free (standard runner) |
| same | private | 2 | 8 GB | 14 GB | $0.005, from your included minutes first |
| arm64 larger runner, 4 cores | any | 4 | 16 GB | 150 GB | $0.008, always charged |
| arm64 larger runner, 8 cores | any | 8 | 32 GB | 300 GB | $0.014, always charged |
What can break
- Docker container actions and images without an arm64 build. A
uses:that points at an x64-only image fails to start. Most official images (node, python, postgres, redis) publish arm64. - Downloaded binaries. A step that fetches
…-linux-amd64.tar.gzby name needs the arm64 file instead;uname -mprintsaarch64on ARM. - Snapshot tests that depend on the CPU. Floating-point output, image rendering or font hinting can differ by a pixel or a digit between architectures. Compare a run on each before you switch the gate.
- Caches. Keys that do not include the architecture restore x64
node_modulesnative modules on ARM. Putrunner.archin the key.
Building arm64 Docker images without emulation
QEMU lets an x64 runner build arm64 images, but Docker notes that building several platforms on one runner can significantly extend build times. Docker’s own reusable workflow builds one platform per runner, arm64 on ubuntu-24.04-arm, and assembles the multi-platform image for you:
jobs:
build:
permissions:
contents: read
id-token: write
uses: docker/github-builder/.github/workflows/build.yml@v1
with:
output: image
push: true
platforms: linux/amd64,linux/arm64
meta-images: ghcr.io/${{ github.repository }}
secrets:
registry-auths: |
- registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
Other ARM64 runners
- Blacksmith offers ARM runners at $0.0025 a minute for 2 vCPU, with 3 GB per vCPU.
- FlameWill is ARM64 only (current Arm Neoverse cores, in the EU) and sizes memory separately from cores, up to 8 GB per vCPU:
| Label | vCPU | Memory | Price per minute |
|---|---|---|---|
flamewill-2vcpu-8gb-ubuntu-2404 |
2 | 8 GB | $0.0012 |
flamewill-2vcpu-16gb-ubuntu-2404 |
2 | 16 GB | $0.0015 |
flamewill-4vcpu-32gb-ubuntu-2404 |
4 | 32 GB | $0.0030 |
Docker, Node.js, Bun and Playwright’s browsers are already installed on FlameWill’s machines, so a job’s setup steps download less.
Questions
Which ARM64 runner labels does GitHub offer?
ubuntu-24.04-arm, ubuntu-22.04-arm and ubuntu-26.04-arm for standard Linux runners, plus arm64 larger runners from 2 to 64 cores that an organization creates with its own labels.
Are ARM64 runners cheaper than x64 on GitHub?
Yes, at every size GitHub lists. 2 cores cost $0.005 a minute against $0.006 on x64; 64 cores cost $0.098 against $0.162.
Do JavaScript and composite actions work on ARM64?
Yes, they run on the runner's own Node.js. Actions that ship a Docker image or a prebuilt binary work only if they publish an arm64 build; check before switching a workflow that uses one.
Should I use QEMU to build arm64 Docker images?
QEMU emulation lets an x64 runner build for arm64, but Docker notes that building several platforms on one runner can significantly extend build times. Building each platform on a runner of that architecture avoids emulation.
Sources
Read on 24 Oct 2026. Prices change: check each vendor's own page before you decide.
- GitHub, GitHub-hosted runners (labels and specifications)
- GitHub, Actions runner pricing
- GitHub, GitHub Actions billing (free use in public repositories)
- Docker, multi-platform images with GitHub Actions
- Blacksmith, runner instance types
- FlameWill, docs
This page as Markdown: /guides/github-actions-arm64-runners.md
