Native ARM64 runners. No emulation.
Ubuntu 24.04 on ARM64, 2 vCPU, $0.0025 a minute. Your job runs on its own ARM64 virtual machine, so it builds and tests on the architecture it ships on.
Card required. 3,000 minutes a month at 2 vCPU are included.
The machine
- Label
runnersio-2vcpu-ubuntu-2404-arm- Machine
- 2 vCPU, 8 GB memory, 75 GB disk, as every job on the label gets
- Runs on
- ARM64 virtual machines, one created for each job
- Price
- $0.0025 a minute
- GitHub-hosted, same size
- $0.005 a minute for its 2-core Linux arm64 runner, so ours is 50% less; read 7 November 2026 from GitHub’s runner pricing reference
Start-up time, measured
A virtual machine is created for each ARM64 job, so a job waits for it to start. Across the 69 completed ARM64 jobs from 21 October 2026 to 7 November 2026, the median time from queued to started was 1 min 13 s; the middle half took between 56 s and 1 min 52 s, and the range was 29 s to 12 min 58 s.
Read from our job records on 7 November 2026. Most of these jobs were our own tests, some in batches, so the spread includes waiting behind other jobs. Every label and what it gets.
The ones worth asking first
Is this native ARM64, or emulated?
Native. Your job runs on an ARM64 processor, so there is no QEMU layer and nothing to cross-compile for.
Where do ARM64 jobs run?
On ARM64 virtual machines, one created for each job. Each job gets its own virtual machine, starting fresh and shared with no other job. Nothing a job leaves on its machine can be seen by another job.
How long does an ARM64 job take to start?
Because the machine is created for the job, an ARM64 job starts later than one that finds a machine already running. Measured on 7 November 2026 over 69 completed jobs: a median of 1 min 13 s from queued to started, the middle half between 56 s and 1 min 52 s, the extremes 29 s and 12 min 58 s.
What does it cost?
$0.0025 a minute at 2 vCPU. A job is billed on the minutes it ran, and a job that is still queued is not billed.
Which label do I use?
runs-on: runnersio-2vcpu-ubuntu-2404-arm. Change that one line in the workflow.
Before you connect
Is my code safe on someone else's runner?
Each job gets its own virtual machine, starting fresh and shared with no other job. Nothing a job leaves on its machine can be seen by another job.
What do you get from my GitHub account?
Access to the repositories you choose, and nothing else. We read their workflow files and job logs, register a runner for each job, and open the pull request that moves them across. Your secrets, environments and branch protection stay on GitHub, and every permission is listed, with what it is for, in the docs under Connect your account.
What if I do not want to depend on a vendor?
The one change a workflow needs is the runs-on label. Your actions, secrets and triggers are untouched, so there is nothing of ours to untangle.
How do I leave?
Change the label back and the job runs on GitHub again. We delete build output and test results 90 days after each job.
Run your next ARM64 job here
Card required. 3,000 minutes a month at 2 vCPU are included.