Every figure is read from the provider's own pricing page, dated, and carries the date it was last checked, which is why GitHub appears here at $0.006 rather than the $0.008 most comparisons still quote.
The grades are arithmetic on one printed rubric applied identically to every platform, and where a figure is not published the cell is a dash rather than a guess.
Blacksmith
Top of the rubric at $0.004 per minute, 33% less than GitHub. Bare-metal gaming CPUs in Firecracker microVMs, optimised for single-core speed.
Latchkey
The most grade per dollar in the table, compared like for like at 8 GB: A at $0.0025 per minute, 58% less than GitHub.
I · The report card
10 platforms, graded on what they publish
Each grade is computed from the vendor's own published record by the rubric printed below. No platform is adjusted by hand, including the one the owner founded. Hover a column for what it measures.
The rubric, in full
| Dimension | Weight | What scores what |
|---|---|---|
| Cost | 35% | Cheapest published Linux rate at 2 vCPU with at least 8 GB of RAM, against the GitHub-hosted baseline. Like for like: where a vendor ties memory to cores, the shape that actually has 8 GB is the one priced. |
| Performance | 25% | What the vendor publishes about the machine and its cache. Dedicated, bare-metal or single-tenant compute adds most; named local storage (RAM disk, NVMe, SSD) adds a little; a cache described as co-located, uncapped or with a published throughput adds a little. Publishing no cache at all deducts, and a hard cap deducts less. This grades the published specification, not a benchmark: no independent runner benchmark with an open corpus exists, so no measured speed figure is used here or anywhere on this site. |
| VM support | 20% | How many operating-system families the vendor publishes a rate for: Linux x64, Linux arm64, Windows and macOS. A provider that only publishes Linux scores lowest, whatever else it does well. |
| Build reliability | 20% | Published automation that keeps a build green without a human. On-runner detection and repair of failing jobs scores highest; published agents that raise pull requests about the pipeline score partial; no published automation scores lowest. Not claiming a feature is an absence, not a defect. |
Each dimension scores 0 to 4. The overall grade is the weighted average, banded: A+ from 3.35, A from 3.1, A- from 2.85, B+ from 2.6, B from 2.35, B- from 2.1, C+ from 1.85, C from 1.6, C- from 1.2, D+ from 0.9, D from 0.6, F below. Dimensions a vendor does not publish are excluded from that vendor's average, never guessed.
II · Prices
Price, like for like
Linux x64 at two vCPU with 8 GB, USD per minute. Lower is better.
GitHub-hosted Linux at two vCPU. Every comparison on this page is measured against it.
Between the dearest and cheapest published like-for-like rate (Buildkite at $0.016 against Latchkey at $0.0025).
Every size
| Provider | 2 vCPU | 4 vCPU | 8 vCPU | 16 vCPU | 32 vCPU | 64 vCPU |
|---|---|---|---|---|---|---|
| Latchkey | $0.0025 | $0.005 | $0.01 | $0.02 | - | - |
| Blacksmith | $0.004 | - | - | - | - | - |
| Depot | $0.004 | $0.008 | $0.016 | $0.032 | $0.064 | $0.128 |
| BuildJet | $0.004 | $0.008 | $0.016 | $0.032 | $0.048 | - |
| Namespace | $0.002 | $0.004 | $0.008 | $0.016 | $0.032 | $0.08 |
| WarpBuild | $0.004 | $0.008 | $0.016 | $0.032 | $0.064 | - |
| StarSling | $0.004 | $0.008 | $0.016 | $0.032 | $0.064 | $0.128 |
| GitHub-hosted | $0.006 | $0.012 | $0.022 | $0.042 | $0.082 | $0.162 |
| Semaphore | $0.0075 | $0.015 | - | - | - | - |
| Buildkite | $0.008 | $0.016 | $0.032 | - | - | - |
Linux x64, price per minute by vCPU count. A dash means the provider does not publish a rate at that size.
III · The providers
Every provider, in full
All 10, in grade order. Open any row for its published record and source link.
+ BlacksmithBare-metal gaming CPUs in Firecracker microVMs, optimised for single-core speed $0.004/min at 2 vCPU A
Bare-metal gaming CPUs in Firecracker microVMs, optimised for single-core speed.
- Cites a single-thread PassMark of 4484, the highest among managed providers per the RunsOn benchmark.
- Publishes sub-3-second job boot into an ephemeral Firecracker microVM.
| vCPU | Linux x64 | Linux arm64 |
|---|---|---|
| 2 vCPU | $0.004 | $0.0025 |
Verified 30 Aug 2026 · source
+ LatchkeyManaged runners that detect, repair and retry transient failures on the runner $0.0025/min at 2 vCPU A
Managed runners that detect, repair and retry transient failures on the runner.
- The only provider in this table that attempts automatic recovery from transient failures.
- Publishes ~10s cold start and ~5s warm-pool pickup.
| vCPU | Linux x64 | Linux arm64 |
|---|---|---|
| 2 vCPU | $0.0025 | - |
| 4 vCPU | $0.005 | - |
| 8 vCPU | $0.01 | - |
| 16 vCPU | $0.02 | - |
Verified 30 Aug 2026 · source
+ NamespaceBills unit-minutes rather than runner-minutes $0.002/min at 2 vCPU B+
Bills unit-minutes rather than runner-minutes. One unit is 1 vCPU plus 2 GB.
- Rates shown are prepaid at $0.001/unit-min. Overage is $0.0015/unit-min, 50% higher.
- Platform multipliers: Linux 1x, Windows 2x, macOS 10x, Linux on Apple silicon 7x.
- RAM is fixed at 2 GB per vCPU, so a memory-hungry job must buy cores to get memory. The 2 vCPU shape with 8 GB is a 4-unit shape at $0.004/min, twice the 4 GB one.
- The 64 vCPU Linux shape bills 80 units, not 64, so it costs $0.08/min rather than the $0.064 the rest of the ladder implies.
| vCPU | Linux x64 | Linux arm64 |
|---|---|---|
| 2 vCPU | $0.002 | $0.002 |
| 4 vCPU | $0.004 | $0.004 |
| 8 vCPU | $0.008 | $0.008 |
| 16 vCPU | $0.016 | $0.016 |
| 32 vCPU | $0.032 | $0.032 |
| 64 vCPU | $0.08 | - |
Verified 30 Aug 2026 · source
+ WarpBuildManaged runners plus a bring-your-own-cloud mode that runs inside your own account $0.004/min at 2 vCPU B+
Managed runners plus a bring-your-own-cloud mode that runs inside your own account.
- BYOC mode is $0.002/min for the control plane; compute is billed to you by your own cloud provider.
- arm64 is priced 25% below x64 at every published size.
| vCPU | Linux x64 | Linux arm64 |
|---|---|---|
| 2 vCPU | $0.004 | $0.003 |
| 4 vCPU | $0.008 | $0.006 |
| 8 vCPU | $0.016 | $0.012 |
| 16 vCPU | $0.032 | $0.024 |
| 32 vCPU | $0.064 | $0.048 |
Verified 30 Aug 2026 · source
+ DepotSingle-tenant EC2 per job with a RAM disk and an uncapped cache tier $0.004/min at 2 vCPU B+
Single-tenant EC2 per job with a RAM disk and an uncapped cache tier.
- Bills per second rather than rounding up to the minute, which matters most on wide matrices of short jobs.
- Cites 3x faster disk access from RAM disks mounted by default.
| vCPU | Linux x64 | Linux arm64 |
|---|---|---|
| 2 vCPU | $0.004 | - |
| 4 vCPU | $0.008 | - |
| 8 vCPU | $0.016 | - |
| 16 vCPU | $0.032 | - |
| 32 vCPU | $0.064 | - |
| 64 vCPU | $0.128 | - |
Verified 30 Aug 2026 · source
+ GitHub-hostedThe default $0.006/min at 2 vCPU B+
The default. Free and unlimited on public repositories; metered on private ones.
- Larger runners are billed even on public repositories and even while plan minutes remain.
- Private repositories receive half the vCPU and RAM that public repositories do.
| vCPU | Linux x64 | Linux arm64 |
|---|---|---|
| 2 vCPU | $0.006 | $0.005 |
| 4 vCPU | $0.012 | $0.008 |
| 8 vCPU | $0.022 | $0.014 |
| 16 vCPU | $0.042 | $0.026 |
| 32 vCPU | $0.082 | $0.05 |
| 64 vCPU | $0.162 | $0.098 |
Verified 30 Aug 2026 · source
+ BuildJetLong-running drop-in replacement with a larger cache allowance than GitHub-hosted $0.004/min at 2 vCPU B
Long-running drop-in replacement with a larger cache allowance than GitHub-hosted.
- ARM shells ship notably less RAM than AMD at the same price: 3 GB vs 8 GB at 2 vCPU.
- Default concurrency 64 AMD vCPUs / 32 ARM vCPUs; +100 vCPUs costs $300/mo.
| vCPU | Linux x64 | Linux arm64 |
|---|---|---|
| 2 vCPU | $0.004 | $0.004 |
| 4 vCPU | $0.008 | $0.008 |
| 8 vCPU | $0.016 | $0.016 |
| 16 vCPU | $0.032 | $0.032 |
| 32 vCPU | $0.048 | $0.064 |
Verified 30 Aug 2026 · source
+ StarSlingManaged runners with AI agents that open pull requests to optimize your pipeline $0.004/min at 2 vCPU B
Managed runners with AI agents that open pull requests to optimize your pipeline.
- Queue time is never billed, per the published FAQ.
- Ships AI agents that open pull requests against your repo; the published examples are pipeline optimizations (caching, test sharding, parallelization) rather than repairs of failed jobs.
| vCPU | Linux x64 | Linux arm64 |
|---|---|---|
| 2 vCPU | $0.004 | - |
| 4 vCPU | $0.008 | - |
| 8 vCPU | $0.016 | - |
| 16 vCPU | $0.032 | - |
| 32 vCPU | $0.064 | - |
| 64 vCPU | $0.128 | - |
Verified 30 Aug 2026 · source
+ SemaphoreA full CI platform rather than a drop-in runner $0.0075/min at 2 vCPU B-
A full CI platform rather than a drop-in runner. Adopting it means rewriting pipelines.
- Self-hosted agents are $0.0025/min on any machine you supply.
- x64 is more expensive per minute than GitHub-hosted; arm64 is substantially cheaper.
- 20 concurrent jobs.
| vCPU | Linux x64 | Linux arm64 |
|---|---|---|
| 2 vCPU | $0.0075 | $0.003 |
| 4 vCPU | $0.015 | $0.006 |
| 8 vCPU | - | $0.012 |
Verified 30 Aug 2026 · source
+ BuildkiteHybrid CI platform $0.008/min at 2 vCPU C
Hybrid CI platform. Bills per vCPU-minute plus per-seat and per-agent fees.
- Linux hosted agents are $0.004 per vCPU-minute, so a 4 vCPU agent is $0.016/min.
- Seat and agent fees usually dominate the compute comparison for teams above about ten people.
- Self-hosted agents on your own infrastructure are supported.
- macOS hosted agents are published at $0.02 per vCPU-minute. No per-runner macOS rate is published, so no figure is shown above.
| vCPU | Linux x64 | Linux arm64 |
|---|---|---|
| 2 vCPU | $0.008 | - |
| 4 vCPU | $0.016 | - |
| 8 vCPU | $0.032 | - |
Verified 30 Aug 2026 · source
IV · Method
Arithmetic, not opinion
Primary sources only
Every price is read from the vendor's own published pricing page. Sales quotes, blog posts and third-party summaries are not used.
Every figure is dated
Each figure carries the date its source page was last read. A price without a date is not a fact, it is a memory.
Absent means absent
Unpublished figures show as a dash and are left out of the average, never inferred from a plan total or a competitor's claim.
The rubric is public
Grades are computed from the dataset with no per-provider adjustment. Reweigh it yourself; the data is public.
How the figures are re-checked
Re-checking is a deliberate act, not a schedule. A script re-reads each vendor's own pricing page and asks one question per recorded figure: is that number still present on the page it was read from? It runs when the dataset is reviewed, and the date beside every figure is the date that check last passed.
It deliberately does not try to read the new value. 10 bespoke scrapers against pages that get redesigned without notice is a machine for producing confidently wrong numbers, and a wrong price published automatically is worse than a stale one published honestly. So the script detects the change and a person decides what the new truth is.
- Every figure still present: the verification dates advance. That is what the date next to each number means.
- A figure has gone: the run names exactly which, with source links, and the dates do not move. A disappearance is not proof of a price change; a redesign produces the same signal, so a human reads the page.
- A page cannot be read at all: the run fails loudly rather than leaving stale data looking fresh. A site that appears maintained while going stale is the failure this design exists to prevent.
What is deliberately not here
- Benchmarks. This site publishes prices, not performance. Vendor speed claims are quoted as claims, attributed, and never presented as measurements. This is also why the report card has no performance dimension.
- Affiliate links. There are none, on any page, to any provider.
- Sponsored placement. Table order is by price or by computed grade. It is not for sale.
- Black-box scores. The one score this site does publish carries its entire rubric next to it.
The GitHub baseline
Comparisons use GitHub-hosted Linux 2-core x64 at $0.006/min as the reference point. GitHub reduced that rate from $0.008, and a large amount of published comparison content still calculates savings against the older figure. A provider charging $0.004 is 33% below current list, not 50%.