2026 年最便宜的 GitHub Actions 執行器:100,000 分鐘的成本
The cheapest GitHub Actions runners in 2026: what 100,000 minutes cost
作者比較多種 GitHub Actions 執行器在每月 100,000 分鐘、4 vCPU Linux 工作量下的成本,託管方案每分鐘為 $0.0025 至 $0.012,自有 AWS Spot 約 $0.0014。
I build open source developer tools, mostly supergateway and Supercov. This month I looked at what their CI actually uses.
From October 1 to 27, those repos ran 534,311 minutes on GitHub Actions. GitHub billed us $0, because the repos are public. At list price the same minutes come to $8,292.
macOS is 15% of the minutes and 59% of the money. Most of the rest is test matrices: Supercov runs its compatibility tests on Linux, Linux Arm, macOS, Windows and Windows Arm on every pull request, including the ones coding agents open.
If those repos were private, that would be a real bill. That question is how we ended up building our own runners, SuperCI, which start a machine per job in your own cloud account. Along the way I priced every other option, and learned a few things about what a CI minute really costs.
GitHub Actions runner pricing, side by side
To compare like with like: 100,000 minutes a month of Linux jobs on 4 vCPUs, about 110 ten-minute jobs a day. Every price is from the provider's own pricing page, read on 27 October 2026.
| Runner | Where jobs run | Cost per minute (4 vCPU Linux) | 100,000 minutes |
|---|---|---|---|
| GitHub larger runner | GitHub | $0.012 | $1,200 |
| Depot | Depot's AWS account | $0.012 | $1,200, plus a plan from $20 |
| Blacksmith | Blacksmith's hardware | $0.008 | $800, with 3,000 free minutes a month |
| WarpBuild | WarpBuild's cloud | $0.008 | $800 |
| Namespace | Namespace's hardware | $0.004 to $0.006 | $400 to $600, plans from $100 |
| Ubicloud | Ubicloud's hardware | $0.0025 (Standard) | $250, with 1,250 free minutes |
| WarpBuild BYOC | Your AWS, GCP or Azure | $0.002 plus your cloud | $200 plus the machines (~$140 on spot) |
| RunsOn | Your AWS account | ~$0.0015 on spot | ~$150, plus a €300–3,600 yearly licence |
| SuperCI | Your AWS, Cloudflare or Modal | ~$0.0014 on spot | ~$140, no fee (MIT) |
| Actions Runner Controller | Your Kubernetes cluster | Your cluster's cost | Your cluster's share |
Spot prices are AWS us-east-1, with the disk and public address counted in. They move through the day.
The pattern: hosted runners cost $0.0025 to $0.012 a minute, and a spot instance in your own AWS account costs about $0.0014. The rest of this post is what it took to make that cheap minute actually work.
What we learned running CI on AWS spot instances
Spot machines get taken back, and GitHub makes that awkward. AWS gives two minutes' notice and ends the machine; the job on it fails. GitHub won't restart a single job while the rest of its run is still going, so the earliest you can retry is when the run finishes. We retry on an on-demand machine so a job is never caught twice. And turn fail-fast off in matrices: with it on, one interrupted job cancels its siblings and the retry repeats all of them.
The cheapest machine isn't the cheapest job. For 4 CPUs, AWS has several machine families at different spot prices, and the newer ones run the same job faster. We ended up pricing every family in every zone and counting each newer generation as about a fifth faster, so a job gets the newest machine whenever it's well priced that hour.
The disk matters more than you'd think. An EBS volume comes with 125 MiB/s whatever its size. Making sixteen copies of a 300 MB test database took 110 seconds at that speed and 14 seconds at 1,000 MiB/s. Paying for disk speed in proportion to the machine costs a tenth to a twentieth of the machine itself.
Keep the cache next to the machines. With GitHub's cache in an S3 bucket in the same region, a 4 GB cache restored in 11 seconds instead of 21 on GitHub's own cache. Keeping Docker images there too brought a local Supabase start from 100 seconds to 37.
Per-minute price is only half the sum. The hosted services sell speed: Depot says "up to 3x faster", Blacksmith "2x faster than GitHub's runners", Namespace "2x-10x faster builds". If a job really runs twice as fast, it costs half the minutes. None of them publishes a comparison against the others on the same jobs, and we haven't run one yet either.
Which runner is cheapest for you
- Most teams: SuperCI. The lowest price per minute in the table, no fee or licence, and jobs that stay in your own AWS, Cloudflare or Modal account. It runs Linux x64 and Arm, Windows and GPU jobs, for GitHub Actions and GitLab CI. Nothing runs between jobs, so a quiet month costs little.
- Jobs in your own account, with a paid vendor: RunsOn on AWS with a yearly licence, or WarpBuild BYOC on AWS, GCP or Azure at $0.002 a minute on top.
- A few thousand minutes and no cloud account: Blacksmith's 3,000 or Ubicloud's 1,250 free minutes.
- macOS jobs: keep them on GitHub, Blacksmith, Depot or Namespace, and move the rest.
- You already run Kubernetes and want runners as pods: Actions Runner Controller.
Whichever you pick, switching is one line per job:
jobs:
test:
# runs-on: ubuntu-24.04-4core # GitHub larger runner
# runs-on: blacksmith-4vcpu-ubuntu-2404 # Blacksmith
runs-on: superci/cpu=4 # SuperCI
We made SuperCI MIT licensed and free because the point was the cheapest minute your cloud sells, with no second margin on top. If you try it, npx @superci/cli dashboard sets it up from your computer.
Sources and more detail
The full comparisons, with every source and the date it was read, are on superci.dev:
- Blacksmith alternatives
- Self-hosted GitHub Actions runner pricing
- BuildJet alternatives, now that BuildJet has shut down
- A GitHub Actions cost calculator for your own minutes
If a price here is out of date, tell me in the comments and I'll fix it.
來源:DEV Community · dev.to

