I build Celesto CI. Celesto has a lower paid per-minute rate than both Blacksmith and GitHub's 4-core Linux larger runner. In the snapshot below, Celesto finished the cold builds faster than GitHub's benchmark runner.
That's the useful comparison: how long you wait, what a running minute costs, and what those numbers actually measure.
What we compared
The Celesto CI benchmark repository publishes workflows, results and source run links. This article uses its November 14 comparison, including the November 15 Celesto Docker rerun after a runner disk change.
All three rows use Linux x64 runners with 4 vCPU and 16 GB of listed RAM. That is the same listed configuration, not identical hardware. CPU models, disks, regions and host load differ.
The workloads are real public projects pinned to commits:
-
Rust:
spotify-player, with formatting checks, tests and two Clippy passes. -
Node/TypeScript:
opencode, with a cold Bun install and typecheck. Turbo's local and remote caches are disabled. - Docker: PostHog's production image, built with no build cache.
-
Cache: save and restore a 4 GiB file using
actions/cache. - Queue: start a burst of 15 jobs and measure the median wait from job creation to runner start.
Celesto's results come from our repository. GitHub and Blacksmith results come from the RunsOn public benchmark data, using the workloads described in its methodology. RunsOn also sells CI infrastructure, so this is vendor-maintained evidence, not an independent lab test.
Build times: Celesto beats GitHub; Blacksmith trades a 6x paid rate for speed
Lower is better.
| Workload | GitHub | Blacksmith | Celesto CI |
|---|---|---|---|
| Rust | 3m 35s | 2m 02s | 2m 54s |
| Node/TypeScript | 1m 38s | 50s | 1m 19s |
| Docker | 12m 59s | 5m 52s | 9m 14s |
| Cache save + restore | 1m 20s | 17s | 41s |
| Burst queue, p50 | 3s | 11s | 15s |
Compared with GitHub in this snapshot, Celesto reduced Rust workload time by about 19%, Node/TypeScript by 19%, and Docker by 29%.
Blacksmith completed all three builds and the cache test sooner, at 6x Celesto's paid per-minute rate for this listed configuration ($0.008 versus $0.00133333). That is a rate comparison, not a claim that each build costs 6x as much: Blacksmith's shorter runtime offsets part of the rate difference. GitHub had the shortest burst queue wait.
These are workload-phase times, not the full time from pushing a commit to getting a green check. Setup, collection and other steps outside the measured phases are excluded. Queue wait is shown separately.
Paid rates: Celesto costs less per running minute
Here are the published Linux x64 rates for the same listed 4-vCPU / 16-GB configuration, checked November 15, 2026:
| Provider | Paid rate per minute | Source |
|---|---|---|
| GitHub, Linux 4-core larger runner | $0.012 | GitHub runner pricing |
| Blacksmith, 4 vCPU | $0.008 | Blacksmith pricing |
| Celesto CI, Large | $0.00133333 | Celesto CI pricing |
Celesto's $0.08/hour rate works out to about 89% less per minute than GitHub's 4-core larger runner and 83% less than Blacksmith's 4-vCPU runner.
There is an important distinction: the GitHub timing row uses its public-repository standard runner. The $0.012 rate belongs to GitHub's paid 4-core larger-runner SKU. The listed CPU and RAM align, but these results do not establish the performance of that paid SKU. This is a specification-level price comparison alongside a benchmark, not an invoice comparison for the measured GitHub jobs.
Also, free usage matters:
- GitHub's standard runners are free for public repositories, and eligible private-repository usage has an included allowance. Celesto does not beat a $0 bill on price.
- Blacksmith advertises 3,000 free minutes per month.
- Celesto offers a one-time $5 trial, but the current trial is Micro-only. It does not cover the Large runner used here.
The chart compares list rates at 2 vCPU / 8 GB RAM. The benchmark and rate table above use 4 vCPU / 16 GB.
A lower rate is not the whole bill
A runner that costs more per minute can finish sooner. A fair cost-per-job comparison needs each provider's full billable runtime, its billing rules, allowances and any extra charges.
Multiplying only the build times above by the rates would leave things out. GitHub rounds each job up to a whole minute. Celesto counts runner preparation and cleanup as runtime too. Queue and workload times answer different questions, and neither is a substitute for your invoice.
The lower rate is why Celesto is worth testing for CI that runs continuously as coding agents push changes. The speed results give another reason to try it against GitHub, but they do not promise that every workflow will improve.
Try it on your own workflow
Install the Celesto CI GitHub App and finish workspace setup from celesto.ai/ci. To test the size used in this comparison, change the job's runner label to:
runs-on: celesto-large
Use a workspace with credit for that runner. Use the explicit size label rather than assuming celesto selects this configuration.
Run the same commit on each provider several times. Keep cold and warm builds separate. Compare queue wait, full job duration, cache behavior, failures and actual charges. The suite guide explains how to reproduce the published workloads.
The takeaway
Celesto is cheaper per paid running minute than both alternatives at this listed size, and it was faster than GitHub on these cold builds. Blacksmith's shorter build times came with a paid per-minute rate 6x Celesto's.
This snapshot has one successful job per provider for each build and cache suite, with provider runs on different dates. The queue row is the median of one 15-job burst per provider. It is a starting point, not a universal ranking or a long-run reliability study.
If your CI bill is growing, test Celesto on a workflow you already run. Keep the provider that gives you the best balance of wait time and actual cost.

Top comments (1)
This is a game changer