CI Bench

Workload · CI Bench v1

ts workload

Median time runs from 243 s (Vitko Runners (warm starts + test splitting)) to 784 s (GitHub-hosted runners (ubuntu-latest, 2 vCPU)); GitHub-hosted (ubuntu-latest) takes 784 s.

Lowest median time
243 s
Vitko Runners (warm starts + test splitting)
GitHub-hosted (ubuntu-latest): 784 s
Slowest median
784 s
GitHub-hosted runners (ubuntu-latest, 2 vCPU)
3.2× the lowest
Lowest cost, managed
$0.012
Ubicloud
mean per job
Failed runs
0
no failed runs
of 270 measured runs

Median time

Seconds from start to finish · lower is better
Vitko Runners (warm starts + test splitting)
243 s
Vitko Runners
372 s
Blacksmith
401 s
Self-hosted runners on AWS (one VM per job)
433 s
GitHub-hosted larger runner (4 vCPU)
435 s
Self-hosted runners on Google Cloud
533 s
Ubicloud
560 s
RunsOn
570 s
GitHub-hosted (ubuntu-latest)
784 s

Table

Ordered by median time. Self-hosted options are priced all-in at 100,000 jobs a month. Green marks the lowest median time and the lowest cost among the managed runners.
ConfigurationMedianp95Queue p50Queue p95CostOK
Vitko Runners (warm starts + test splitting)243 s332 s2 s20.3 s$0.02730 of 30
Vitko Runners372 s404 s2 s39.6 s$0.01230 of 30
Blacksmith401 s570 s8 s11 s$0.03030 of 30
Self-hosted runners on AWS (one VM per job)433 s467 s50 s73.9 s$0.01730 of 30
GitHub-hosted larger runner (4 vCPU)435 s548 s3 s3 s$0.09930 of 30
Self-hosted runners on Google Cloud533 s582 s2 s3.1 s$0.02930 of 30
Ubicloud560 s844 s18 s248 s$0.01230 of 30
RunsOn570 s597 s18 s25.6 s$0.006130 of 30
GitHub-hosted runners (ubuntu-latest, 2 vCPU)784 s824 s3 s5.1 s$0.07730 of 30

The job

  • Project: microsoft/TypeScript at v6.0.3 (050880ce59e30b356b686bd3144efe24f875ebc8), licence Apache-2.0. Fetched at run time, not vendored.
  • Upstream job: .github/workflows/ci.yml, job Test Node 24 on ubuntu-latest.
  • Benchmark workflow: .github/workflows/wl-ts.yml.

Portability edits (identical for every provider)

  • One matrix cell (Node 24, Linux).
  • The test bundle is built in its own step before the tests (the test step's own build is then a no-op).

suite/ts holds the workflow and notes.