Card required. 3,000 minutes a month at 2 vCPU are included.
1.2–2.1×
sooner: the same builds on GitHub's 2 vCPU runner and on ours
$0.012
a build here, against $0.034 on GitHub-hosted
32
vCPU at the largest, chosen for each job by its label
How much faster, measured
Three open-source projects, each at a pinned commit and built by its own command, on GitHub’s 2 vCPU runner and on ours. Each time is the whole job, start to finish. Your own gain depends on the job: a compile or a test suite spread over many files gains from more cores; a job that waits on the network does not.
Each time is the median of at least 21 approved rounds that both runners completed.
Why GitHub Actions is slow, and what moves the time
The runner is too small for the work.
A compile or a test suite is limited by cores, and GitHub’s standard runner has 2 vCPU. Here the size is a label: up to 32 vCPU for the jobs that need it, and the default for the rest. The runner size guide says which jobs gain, and the runners page lists every size.
The Actions cache is included at no charge. A Docker layer cache that survives between jobs is an add-on at $0.50/GB-month of what it stores, with a build measured cold and warm.
The job waits for a runner.
A queued job is not billed here. If one waits longer than you expect, why jobs wait for a runner lists the causes.
Try it on one repository first.
Installing the App moves nothing: no job runs here until a workflow asks for one of our labels. Change runs-on yourself, or pick a repository and we open a pull request that changes it and nothing else. Its checks run on our runners, so you compare times on your own code before you merge. There is no per-seat fee, and a monthly spend cap you set stops new jobs when it is reached; running ones finish. How the migration goes; what each size costs a minute is on the pricing page.
The ones worth asking first
Why is my GitHub Actions build slow?
Usually one of three things: the runner is too small for the work, dependencies and Docker layers are rebuilt from nothing on every run, or the job waits for a runner before it starts. GitHub's standard runner has 2 vCPU. On ours you choose the size per job, up to 32 vCPU, by the label in runs-on.
How much faster will my builds be?
On the three open-source builds measured on this page, 1.2× to 2.1× sooner on the same 2 vCPU. Your own gain depends on the job: a compile or a test suite spread over many files gains from more cores; a job that waits on the network does not. Move one repository and compare its own times.
Before you connect
Is my code safe on someone else's runner?
While a job runs, its code and the secrets GitHub hands it are on a machine we operate, as on any runner you do not host yourself. 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.
The repositories you choose. GitHub will list read and write permissions, and each write has one use. Administration registers a single-use runner for each job and removes it. Contents, Workflows and Pull requests open the migration pull request. Actions cancels a run we refused, or one holding a job you stopped. Checks and Commit statuses report Terraform plans, if you connect Terraform. Your secrets, environments and branch protection stay on GitHub.
Change the label back and the job runs on GitHub again: the runs-on label is the only change a workflow needs, and your actions, secrets and triggers were never ours to untangle. Uninstall the App on GitHub and we see nothing more. We delete build output and test results 90 days after each job.
We would like to use analytics and advertising cookies to count visits, measure which of our ads work and show you our ads later.We use analytics and advertising cookies to count visits, measure which of our ads work and show you our ads later.They tell us which of our ads brought you here, and whether you went on to sign up, sending them scrambled (hashed) copies of your details. They also let Google, Meta, LinkedIn, X, Reddit, Microsoft, TikTok and OpenAI show you runners.io ads again later, on their sites and others, based on your visit. That is your email address and any name, phone number or address you type into our forms. Google Analytics, loaded with them, also counts visits to our pages and the sign-ups and card additions that follow, using two cookies of its own. It also lets PostHog, our product analytics, see which setup steps you use and which of our main buttons you press, show you an occasional short survey, and on our setup, pricing, calculator and docs pages and inside your account record your session with everything you type masked. On our public pages it also lets Apollo.io work out, from your IP address, which company you are visiting from, never who you are. They are on until you opt out. If you opt out, we delete the cookies we can and nothing more on this site contacts any of them or PostHog or Apollo.io. They stay off until you choose. Until you press Accept, none of them is set and nothing on this site contacts any of them or PostHog or Apollo.io. Press Reject and they stay off. How we use them