WarpBuild vs Namespace for GitHub Actions runners
WarpBuild vs Namespace lands on the same Linux number twice: a 2 vCPU runner with 8 GB is $0.004 a minute on WarpBuild and $0.004 prepaid on Namespace. The decision is made everywhere else, and mostly in two places: Namespace is a third cheaper on macOS, and the two meter their caches in units that behave nothing alike.

WarpBuild sells managed cloud runners at a published per-minute rate with no plan fee, a bring-your-own-cloud mode at $0.002 a minute inside your own AWS, GCP or Azure account, and remote Docker builders as a separately billed product. Cache is an add-on with its own meters rather than an allowance, and every add-on is free under BYOC.
Namespace sells compute in unit minutes across devboxes, Docker builds and runners. A unit is 1 vCPU with 2 GB of RAM for a minute times a platform multiplier, prepaid rates sit inside a plan and overage rates are half again as much outside it, and caches are sold as volumes billed by GB-hour and GB-day with plan allowances on top. It also sells Bazel, Turborepo and Gradle remote caches as products of their own.
Every cell below was read from the vendor's own public pricing or documentation page on 21 September 2026. Where a vendor does not publish a number, the cell says "not published" instead of carrying a guess.
WarpBuild, Namespace and Latchkey side by side (read 21 September 2026)
| WarpBuild | Namespace | Latchkey | |
|---|---|---|---|
| Price per minute, 2 vCPU Linux x64 | $0.004 managed (2 vCPU, 8 GB RAM), or $0.002 under BYOC | $0.004 prepaid or $0.006 overage for the 2 vCPU 8 GB shape; $0.002 prepaid at 2 vCPU with 4 GB | $0.0025 (2 vCPU, 8 GB RAM, 100 GB disk) |
| Price per minute, 4 vCPU Linux x64 | $0.008 managed (4 vCPU, 16 GB RAM), or $0.002 under BYOC at any size | $0.008 prepaid or $0.012 overage for 4 vCPU with 16 GB | $0.005 (4 vCPU, 16 GB RAM, 100 GB disk) |
| Free tier | Not published as an allowance. Sign-up needs no card until you reach a usage or credit limit | A 30-day free trial of compute, devboxes and runners; the Developer plan is pay as you go | 30-day trial, then 2,000 included minutes a month on Developer, 4,000 on Launch, 6,000 on Scale |
| Billing granularity | Per minute, in its own words: "CI runners are billed on a per-minute basis" | Per unit minute: wall-clock minutes times the shape, then times 1 for Linux, 2 for Windows, 10 for macOS and 7 for Linux on Apple silicon | Per minute |
| Runner sizes and OS | 2 to 32 vCPU on Linux x64 and arm64, arm64 at three quarters the x64 rate; Windows from 4 vCPU; macOS M4 Pro at 6 and 12 vCPU; Linux on Apple silicon at 6 and 12 vCPU | Linux amd64 and arm64 to 64 vCPU, Windows to 32 vCPU, macOS on Apple silicon from 4 to 16 vCPU, and Linux on Apple silicon in early access | 2, 4, 8 and 16 vCPU, Ubuntu 24.04 on x86_64 only. arm64, Windows and macOS are not offered |
| Cache: type, limit, persistence | $0.20 per GB-month of storage plus $0.0001 per write or restore, snapshot restore $0.04 a job, snapshot storage $0.025 an hour. All free under BYOC | Cache volumes at $0.002/GB-hour for snapshots and $0.0048/GB-day for storage, with 5,000 GB-hours and 3,000 GB-days free on Team; Turborepo and Gradle caches at $0.2/GB-month; Bazel cache hits at $0.10 per 1,000 | Size not published. latchkey-dev/cache-action@v1 swaps one line for actions/cache, keeping path, key and restore-keys; entries are isolated per organization, versioned by OS, kept 14 days; a failed restore warns rather than failing the job |
| Docker build acceleration | Remote Docker builders billed separately, 16 vCPU at $0.06/min up to 192 vCPU with 2 TB of disk at $0.88/min, with each profile shared across jobs and no hard concurrency limit | Docker builds are metered per build: $0.05 each on Developer, 1,000 included on Team and 2,500 on Business, then $10 per 1,000 | latchkey-dev/docker-cache-action@v1, layers held in a Latchkey-managed private registry per organization |
| Concurrency limits | Advertised as unlimited job concurrency, with a contractual no-queue guarantee and a 99.9% SLA only on Enterprise | Counted in vCPU by plan: 32 vCPU of Linux on Developer, 64 on Team, 160 on Business, with macOS on a separate ladder of 12, 24 and 48 | Not published; warm-pool capacity varies by plan |
| Where jobs run | WarpBuild's own cloud, or your AWS, GCP or Azure account under BYOC, with region-specific infrastructure on Enterprise | Namespace Compute, on AMD EPYC for amd64 and AmpereOne or Apple silicon for arm64 | Latchkey's own AWS estate on m6a-class hosts, one job per runner, private network, destroyed after the job |
| Self-healing or retries | Not offered | Not offered | Built in: transient failures are diagnosed and retried inside the run |
| Setup change required | Change the runs-on label for managed runners; BYOC additionally deploys into your own cloud account | Change the runs-on label to a nscloud- shape string, adding a suffix when you want a cache volume attached | A runs-on label change. GitHub organization accounts only |
Where the Linux tie breaks
The headline rates are identical at the two Linux sizes both vendors sell, so the tie has to break somewhere else, and it breaks on which column you are actually in. Namespace's $0.004 is the prepaid rate, available only inside a plan; its overage rate is $0.006, which is 50% more and level with GitHub-hosted. WarpBuild's $0.004 has no plan behind it and no cheaper column to reach.
So the comparison is really between a commitment and a flat rate. If you can forecast usage, Namespace matches WarpBuild on Linux and hands you a lower macOS rate as well. If you cannot, Namespace overage is half again what WarpBuild charges, and the flat rate wins.
| Shape | WarpBuild | Namespace prepaid | Namespace overage | Latchkey |
|---|---|---|---|---|
| 2 vCPU, 8 GB Linux | $0.004 | $0.004 | $0.006 | $0.0025 |
| 4 vCPU, 16 GB Linux | $0.008 | $0.008 | $0.012 | $0.005 |
| 2 vCPU Linux arm64 | $0.003 | $0.004 at the 8 GB shape | $0.006 | Not offered |
| 4 vCPU, 16 GB Windows | $0.016 | $0.016 | $0.024 | Not offered |
| macOS, 6 vCPU with 14 GB | $0.08 | $0.06 | $0.09 | Not offered |
| Linux, inside your own cloud | $0.002 under BYOC plus your cloud bill | Not offered | Not offered | Not offered |
Speed
Not benchmarked yet; the runner benchmark report will replace this section. We have not run the same workload on these runners ourselves, and until we have there is no number here worth quoting.
The cheap way to get a real answer is to point one slow job at each candidate for a fortnight, because runner selection is per job and the Actions run log hands you the timings for free.
WarpBuild advertises 2 to 10x faster builds and a sub-ten-second cold start with warm pools on Enterprise. Namespace argues from hardware: AMD EPYC for amd64, AmpereOne or Apple silicon for arm64, Apple M4 Pro for most macOS work with some on M2 Pro. Both are vendor statements with no shared workload behind them, and neither transfers.
The structural difference that does transfer is what happens when you widen a matrix. WarpBuild advertises unlimited concurrency; Namespace caps it by plan and counts it in vCPU, so 64 vCPU on Team is thirty-two 2 vCPU jobs or eight 8 vCPU ones and not both. A matrix that fans out to fifty jobs on 4 vCPU machines needs 200 vCPU of headroom, which is past the Business tier. That is a planning number, not a speed number, and it is the one to check first.
Cost: the same month, where macOS decides it
The workload every comparison here uses: 10,000 Linux minutes at 2 vCPU plus 2,000 macOS minutes on a private repository. Both vendors sell macOS, so both rows are complete, which is rarer in this corpus than it should be.
| 10,000 Linux minutes at 2 vCPU | 2,000 macOS minutes | Monthly total | |
|---|---|---|---|
| WarpBuild managed | $40 at $0.004/min | $160 at $0.08/min for the 6 vCPU M4 Pro | $200 |
| Namespace on Team, matched shapes | 40,000 unit minutes | 120,000 unit minutes at the 6 vCPU shape | $190: the $100 plan plus 60,000 overage units at $0.0015 |
| WarpBuild BYOC | $20 at $0.002/min, plus your own cloud bill | Not offered under BYOC: $160 managed | $180 plus your cloud bill |
| GitHub-hosted | $60 at $0.006/min | $124 at $0.062/min | $184 |
| Latchkey | $25 at $0.0025/min | Not offered: $124 on GitHub-hosted | $149 plus $5 to $49 a month for the plan |
Namespace takes this month by $10 and the entire margin is macOS. Its 6 vCPU Apple silicon shape prices at $0.06 a minute inside a plan against WarpBuild's $0.08, which on 2,000 minutes is a $40 swing, and it is the only thing offsetting a $100 plan fee that WarpBuild does not charge. Take macOS out and WarpBuild wins outright: $40 flat against a $100 plan that 40,000 unit minutes does not fill. Latchkey's own plan is $5 to $49 a month on top of that compute, and its 2,000 to 6,000 included minutes are not netted off, so the figure is gross on both counts.
Then the caches, where the two are furthest apart and neither is obviously better. WarpBuild bills storage by the GB-month and every operation individually. Namespace bills a cache volume in two units at once: GB-hours while it is attached to a running instance, and GB-days for the storage itself, with real free allowances on the paid plans.
Work one case. Keep a 50 GB cache and attach it to instances for 100 hours in a month. On WarpBuild that is 50 GB at $0.20, which is $10, plus operations. On Namespace it is 5,000 GB-hours of snapshot, exactly the Team allowance, plus 1,500 GB-days of storage against 3,000 free, so it is zero on Team and $17.20 on Developer. The Namespace bill is free until you cross an allowance and then climbs on two axes; the WarpBuild bill is small and linear from the first gigabyte. Which is cheaper depends on how long your volumes stay attached, which is a number most teams have never measured.
Reliability
WarpBuild publishes the stronger set of commitments and prices them: SOC 2 Type II with annual audits and penetration testing, a contractual 99.9% uptime SLA backed by credits, region-specific infrastructure where the data stays in a chosen region, SAML SSO at $250 a month and SCIM provisioning. Namespace publishes limits rather than promises: 32, 64 and 160 vCPU of Linux concurrency by plan, macOS on its own ladder, and a maximum job duration of 3 hours on Developer, 5 on Team and up to 24 above that.
Those are answers to different questions, and the job-duration cap is the one that catches people out. GitHub's own limit is 6 hours, so a long integration suite that runs comfortably on GitHub-hosted can be cut short on the Namespace Developer plan, and the failure looks like a timeout rather than a billing limit. GitHub Actions job timed out covers how to tell a platform cap from a hung test.
Neither vendor repairs a job that failed mechanically. Both bill the minutes the failed attempt burned and both bill the re-run, and on Namespace the failed attempt also consumed unit minutes from a plan you prepaid.
When to choose WarpBuild
- You cannot forecast usage. A flat $0.004 with no plan beats an overage rate of $0.006, and there is no commitment to get wrong.
- You want the runners inside your own cloud. BYOC at $0.002 a minute with every add-on free has no equivalent on the Namespace price list.
- You are fanning out wide. Unlimited advertised concurrency against a vCPU cap by plan is the difference between a matrix that runs and a matrix that queues.
- You need SOC 2 Type II, a contractual SLA or data residency in a named region, and you need them written down.
- Your Docker builds are large enough to want a 16 to 192 vCPU remote builder rather than a per-build charge.
When to choose Namespace
- Your bill is mostly macOS. At $0.06 a minute prepaid for a 6 vCPU machine Namespace is a quarter under WarpBuild and below GitHub-hosted too, and on an iOS pipeline nothing else on this page is worth as much.
- You can sit inside a plan. Prepaid is a third under overage at every Linux row, and the plan minutes are the purchase rather than a fee on top of one.
- You want cache as a volume rather than a key-value store. A cache volume that reattaches is a different tool from a cache that uploads and downloads, and it suits large working sets that never fit a tarball.
- You already run Bazel, Turborepo or Gradle remote caches and would rather buy them from the vendor running your compute.
- Your Docker builds are numerous and small. A metered build at $10 per 1,000 past the plan allowance is cheaper than a builder minute if each build is short.
Switching: the exact diff
Both are runs-on changes. Namespace encodes the shape in the label and takes a suffix to attach a cache volume; WarpBuild names a size. Run both on the same workflow for a fortnight before you decide, because the two things that will actually decide it, your macOS share and how long your cache volumes stay attached, are numbers you do not have yet.
jobs:
test-on-warpbuild:
- runs-on: ubuntu-latest
+ runs-on: warp-ubuntu-latest-x64-4x
steps:
- uses: actions/checkout@v7
- run: pnpm install && pnpm test
test-on-namespace:
- runs-on: ubuntu-latest
+ runs-on: nscloud-ubuntu-24.04-amd64-4x16-with-cache
steps:
- uses: actions/checkout@v7
- run: pnpm install && pnpm testThe verdict
These two are level on Linux and the tie breaks on two questions you can answer today. What share of your bill is macOS, and can you commit to a plan? If the answer is a lot and yes, Namespace is the better buy: $0.06 a minute for a 6 vCPU Apple silicon machine is under WarpBuild and under GitHub, and on an iOS pipeline that single row outweighs everything else on this page. If the answer is not much, or you cannot forecast, WarpBuild wins on a flat rate with no plan fee and an overage rate that does not exist, and bring-your-own-cloud at $0.002 a minute with free add-ons is a floor Namespace does not have a product for. The caches are a genuine coin toss until you measure how long your volumes stay attached. Neither vendor repairs the job that failed for a reason unrelated to your code, and on a prepaid plan that failed attempt has already spent minutes you bought in advance.