Comparison · list prices checked October 18, 2026

A cheaper alternative to GitHub-hosted runners

What the same GitHub Actions jobs cost on GitHub-hosted 2 vCPU runners and on Vitko Runners, what stays the same when you switch, and what does not.

In short

Vitko Runners costs $0.002 a minute for a runner with up to 2 vCPU and 8 GB, against GitHub’s $0.006 for a standard 2-vCPU Linux runner: a third of the price, billed per second instead of rounded up to the minute, with 2,000 free minutes every month. You switch a job by changing one runs-on line, and back the same way. It is in private beta, on Ubuntu 24.04 x64 only.

Cost of one job

List price for a 2 vCPU runner, before any free or plan-included minutes on either side. GitHub rounds each job up to a whole minute.

Cost of one job on GitHub-hosted 2 vCPU and Vitko Runners
Job lengthGitHub-hosted 2 vCPU ($0.006 a minute, rounded up)Vitko Runners (up to 2 vCPU, 8 GB; $0.002 a minute, per second)
30 seconds$0.0060$0.0010
1.5 minutes$0.0120$0.0030
5 minutes$0.0300$0.0100
20 minutes$0.1200$0.0400

An example month

5,000 jobs of 3 minutes each is 15,000 minutes of 2 vCPU Linux runner time, compared like with like:

Example month on GitHub-hosted 2 vCPU and Vitko Runners
GitHub-hosted 2 vCPUVitko Runners (up to 2 vCPU, 8 GB)
List price, no free minutes on either side$90.00$30.00
After each side’s 2,000 free minutes (GitHub Free plan)$78.00$26.00

GitHub’s included minutes depend on your plan: 2,000 on GitHub Free, 3,000 on Pro and Team, 50,000 on Enterprise Cloud, for private repositories. Your own numbers will differ: the calculator takes your usage, and the CLI can price a GitHub usage report locally.

Other managed runners, per job

In the open CI Bench v1 (twelve open-source CI workloads, measured October 7–11, 2026), cost per job at each provider’s list price against GitHub-hosted 2 vCPU: Vitko Runners 84% lower; Vitko Runners with warm starts and test parallelization 84% lower; Ubicloud standard, 2 vCPU 83% lower; Blacksmith, 2 vCPU 52% lower. Vitko sells one of the products measured. Method, limits and every raw record are public. Every configuration, with speed

What stays the same, and what does not

  • Same workflows, and the same GitHub UI and logs. Only the runs-on line changes.
  • A hard monthly spend limit: at the limit, new jobs wait instead of starting. Spend controls
  • Ubuntu 24.04 on x64 only: Arm, Windows, macOS and GPU jobs stay on GitHub. Limits
  • Our price is for the runner. GitHub announced a $0.002 a minute platform charge for self-hosted runners and postponed it with no new date; it would appear on your GitHub bill if it starts.
  • If you need to go back during the beta: fall back to GitHub-hosted.

Is there a cheaper alternative to GitHub-hosted runners?

Yes. Vitko Runners is a managed GitHub Actions runner service at $0.002 a minute, a third of GitHub's $0.006 list price for a standard 2-vCPU Linux runner, billed per second with 2,000 free minutes a month. You switch a job by changing one runs-on line. It is in private beta.

Why is the per-job difference larger than the per-minute difference?

GitHub rounds every job up to a whole minute; Vitko Runners bills per second with no per-job minimum. A 30-second job costs GitHub list price for 60 seconds.

What does a switch change in my workflows?

One line: runs-on changes from ubuntu-latest to your Vitko label. Vitko Runners is in private beta; join the waitlist and your organization is issued its label at onboarding (usually vitko-ubuntu-24.04). Switching back is the same one-line change.

What do I give up?

Vitko Runners offers Ubuntu 24.04 on x64 with up to 2 vCPU and 8 GB per job, for private repositories, in private beta. There are no Arm, Windows, macOS or GPU runners; those jobs stay on GitHub.

Are there cheaper options than Vitko Runners?

In CI Bench v1, the self-hosted RunsOn on AWS had a lower cost per job at 100,000 jobs a month, but you operate it and pay for fixed costs. See the comparison page for every configuration measured.

Sources

Join the private betaAll runners compared