CI Bench

Measured · Result set v1 · Oct 7–11, 2026 · Updated October 29, 2026

Cost of one CI job on each GitHub Actions runner, by workload

Dollars per job for eleven real CI workloads on nine runner configurations. Green marks the lowest in each column.

Short answer

In CI Bench v1, the mean cost of one job ranged by workload; on GitHub-hosted (ubuntu-latest) it was cli $0.039, codex-lint $0.087, container $0.027, fd $0.012, flask $0.0060, guava $0.109, monorepo $0.040, pydantic $0.020, ts $0.077, vite $0.061, vue $0.014. Among managed runners the lowest mean cost per job was Ubicloud, Vitko Runners, Vitko Runners (warm starts + test splitting), depending on the workload. Costs use list prices dated 2026-10-05 and the measured time of each job; self-hosted options are priced all-in at 100,000 jobs a month. Maintained by Vitko, Inc., which sells one of the products measured.

Mean cost per job, US dollars

Mean cost per job by workload
Configurationclicodex-lintcontainerfdflaskguavamonorepopydantictsvitevue
Vitko Runners (warm starts + test splitting)Vitko$0.012$0.014$0.0061$0.0014$0.0004$0.022$0.0056$0.0022$0.027$0.013$0.0017
Vitko RunnersVitko$0.0097$0.014$0.0060$0.0016$0.0005$0.022$0.0058$0.0034$0.012$0.012$0.0020
GitHub-hosted larger runner (4 vCPU)$0.045$0.099$0.042$0.019$0.012$0.181$0.046$0.033$0.099$0.060$0.020
Blacksmith$0.020$0.034$0.031†$0.0055$0.0040$0.051$0.014$0.0087$0.030$0.026$0.0077
Self-hosted runners on Google Cloud$0.017$0.064$0.053$0.0035$0.0011$0.045$0.016$0.0065$0.029$0.023$0.0044
RunsOn$0.0041$0.010$0.0060$0.0018$0.0014$0.0096$0.0039$0.0024$0.0061$0.0053$0.0020
Self-hosted runners on AWS (one VM per job)$0.014$0.049$0.044$0.0047$0.0036$0.032$0.012$0.0064$0.017$0.016$0.0051
Ubicloud$0.0078$0.015$0.0047$0.0021$0.0013$0.019$0.0061$0.0037$0.012$0.011$0.0027
GitHub-hosted runners (ubuntu-latest, 2 vCPU)$0.039$0.087$0.027$0.012$0.0060$0.109$0.040$0.020$0.077$0.061$0.014

† Layer cache did not hit in this run; a re-run is planned. See method.

Cost per job is time times price, so a faster runner can cost less at a higher per-minute rate. List price per minute is not cost per job; faster runners finish sooner. Self-hosted figures include fixed monthly costs spread over 100,000 jobs a month (when self-hosting pays off). Burst workload: its own page.

More: all questions answered · 12 options compared · ranked by speed · ranked by cost per job · calculator.

Method: how the runs were made; data: results.json; every raw record: the repository. Maintained by Vitko, Inc., which sells one of the products measured. Page dated October 29, 2026.

† Layer cache did not hit in this run; a re-run is planned. See method.