openrunners

Runner benchmark

What a CI or agent job costs on each option, at 2, 4 and 8 vCPU. Updated 2026-11-07.

Get the data: benchmark.json · benchmark.csv · ranking rule · method. Jump to 2 · 4 · 8 vCPU.

We run Sengi. Rows marked “we run this” are ours. Rows are listed cheapest first by cost per job; Sengi gets no special placement.

2 vCPU

Option$/minBilling ruleMedian wall timeMedian queued to runningCost per jobWith GitHub self-hosted fee
AWS EC2 spotavailable, can be interruptedm7i.large / xlarge / 2xlarge, us-east-1, Linux; price snapshot, moves hourly $0.00075$0.0449/h Per second, 60 s minimum, at the spot price; boot is billed; disk and public IPv4 extra not yet measured not yet measured $0.00748 $0.0275
Sengi Basiclaunch pendingwe run thissengi-basic-N-ubuntu-2404 $0.001 Per minute, each job rounded up once; boot and teardown unbilled not yet measured not yet measured $0.01 $0.03
Ubicloudubicloud-standard-N $0.00125 By the minute, per job not yet measured not yet measured $0.0125 $0.0325
AWS EC2 on-demandm7i.large / xlarge / 2xlarge, us-east-1, Linux $0.00168$0.1008/h Per second, 60 s minimum; boot is billed; disk and public IPv4 extra not yet measured not yet measured $0.0168 $0.0368
Sengi Premiumbetawe run thissengi-premium-N-ubuntu-2404, AMD Ryzen 9 7950X3D $0.003 Per minute, each job rounded up once; boot and teardown unbilled not yet measured not yet measured $0.03 $0.05
GitHub-hostedLinux x64 (ubuntu-latest and larger runners) $0.006 Per minute, each job rounded up to a whole minute not yet measured not yet measured $0.06 $0.06no change
Hetzner CloudCCX13 / CCX23 / CCX33 dedicated vCPU, Germany/Finland $0.0013€0.0697/h Per started hour, capped at the monthly price; one server per job pays a full hour not yet measured not yet measured $0.0778 $0.1978
Sengi partner rateopenrunners.io partner ratePriced 20% below Ubicloud per job, after measured speed. awaiting measurement Same as Sengi: per minute, rounded up once awaiting measurement awaiting measurement awaiting measurement awaiting measurement

4 vCPU

Option$/minBilling ruleMedian wall timeMedian queued to runningCost per jobWith GitHub self-hosted fee
AWS EC2 spotavailable, can be interruptedm7i.large / xlarge / 2xlarge, us-east-1, Linux; price snapshot, moves hourly $0.0015$0.0897/h Per second, 60 s minimum, at the spot price; boot is billed; disk and public IPv4 extra not yet measured not yet measured $0.0149 $0.035
Sengi Basiclaunch pendingwe run thissengi-basic-N-ubuntu-2404 $0.002 Per minute, each job rounded up once; boot and teardown unbilled not yet measured not yet measured $0.02 $0.04
Ubicloudubicloud-standard-N $0.0025 By the minute, per job not yet measured not yet measured $0.025 $0.045
AWS EC2 on-demandm7i.large / xlarge / 2xlarge, us-east-1, Linux $0.00336$0.2016/h Per second, 60 s minimum; boot is billed; disk and public IPv4 extra not yet measured not yet measured $0.0336 $0.0536
Sengi Premiumbetawe run thissengi-premium-N-ubuntu-2404, AMD Ryzen 9 7950X3D $0.006 Per minute, each job rounded up once; boot and teardown unbilled not yet measured not yet measured $0.06 $0.08
GitHub-hostedLinux x64 (ubuntu-latest and larger runners) $0.012 Per minute, each job rounded up to a whole minute not yet measured not yet measured $0.12 $0.12no change
Hetzner CloudCCX13 / CCX23 / CCX33 dedicated vCPU, Germany/Finland $0.00258€0.1386/h Per started hour, capped at the monthly price; one server per job pays a full hour not yet measured not yet measured $0.1547 $0.2747
Sengi partner rateopenrunners.io partner ratePriced 20% below Ubicloud per job, after measured speed. awaiting measurement Same as Sengi: per minute, rounded up once awaiting measurement awaiting measurement awaiting measurement awaiting measurement

8 vCPU

Option$/minBilling ruleMedian wall timeMedian queued to runningCost per jobWith GitHub self-hosted fee
AWS EC2 spotavailable, can be interruptedm7i.large / xlarge / 2xlarge, us-east-1, Linux; price snapshot, moves hourly $0.00296$0.1774/h Per second, 60 s minimum, at the spot price; boot is billed; disk and public IPv4 extra not yet measured not yet measured $0.0296 $0.0496
Sengi Basiclaunch pendingwe run thissengi-basic-N-ubuntu-2404 $0.004 Per minute, each job rounded up once; boot and teardown unbilled not yet measured not yet measured $0.04 $0.06
Ubicloudubicloud-standard-N $0.005 By the minute, per job not yet measured not yet measured $0.05 $0.07
AWS EC2 on-demandm7i.large / xlarge / 2xlarge, us-east-1, Linux $0.00672$0.4032/h Per second, 60 s minimum; boot is billed; disk and public IPv4 extra not yet measured not yet measured $0.0672 $0.0872
Sengi Premiumbetawe run thissengi-premium-N-ubuntu-2404, AMD Ryzen 9 7950X3D $0.012 Per minute, each job rounded up once; boot and teardown unbilled not yet measured not yet measured $0.12 $0.14
GitHub-hostedLinux x64 (ubuntu-latest and larger runners) $0.022 Per minute, each job rounded up to a whole minute not yet measured not yet measured $0.22 $0.22no change
Hetzner CloudCCX13 / CCX23 / CCX33 dedicated vCPU, Germany/Finland $0.00414€0.2227/h Per started hour, capped at the monthly price; one server per job pays a full hour not yet measured not yet measured $0.2486 $0.3686
Sengi partner rateopenrunners.io partner ratePriced 20% below Ubicloud per job, after measured speed. awaiting measurement Same as Sengi: per minute, rounded up once awaiting measurement awaiting measurement awaiting measurement awaiting measurement

Ranking rule

  1. Cost per job, cheapest first. For measured runs this is the median, across all runs of the same job, of what each run was billed under that option's billing rule (minimum charge, rounding and billed boot time included).
  2. Ties go to the shorter median queued-to-running time.
  3. Failures count. A run that fails for infrastructure reasons (no runner, lost runner, out of capacity) is reported, never dropped. An option whose infrastructure failure rate is above 2% is flagged.
  4. Same job, same shape. Each shape compares machines with the same vCPU count. Memory differs slightly between providers; each row links to its source.

Until runs are measured, rows are ordered by list cost per 10-minute job. That is a price comparison, not a ranking.

Sengi partner rate

Sengi's openrunners.io partner rate is priced 20% below Ubicloud per job, after measured speed. It is computed from the benchmark, not set in advance:

partner_rate_per_min = 0.8 x (Ubicloud median cost per job) / (Sengi median billed minutes per job), per shape

If Sengi is faster per job, its partner rate per minute can be above Ubicloud's; if it is slower, below. Until the harness has measured both, the row says “awaiting measurement”. It is our own discount, offered here, and is listed beside Sengi's normal prices, not instead of them.

The GitHub self-hosted fee scenario

In December 2025 GitHub announced a $0.002 per minute platform charge on self-hosted runner minutes, then postponed it. Every non-GitHub option here runs jobs as a self-hosted runner, so the last column shows its cost per job if that charge returned. GitHub-hosted prices already include it.

Method