The cheapest GitHub Actions runners in 2026: what 100,000 minutes cost
Description and use
The team built SuperCI, a self‑hosted runner that runs on their own cloud, reducing the cost of 100,000 minutes of CI jobs from $1,200 to about $140, while maintaining control over machine selection and performance.
Problem
Open‑source projects running GitHub Actions on public repos consume large amounts of minutes; if the repos were private, the cost would be significant.
Outcome
By building and deploying SuperCI, the team reduced the cost of 100,000 minutes of Linux 4‑vCPU jobs from $1,200 (GitHub larger runner) to ~$140, a 90% cost reduction, while maintaining control over machine selection and performance.
Workflow
- 1. Measure minutes used by public repos (534,311 minutes).
- 2. Calculate list‑price cost ($8,292).
- 3. Compare pricing of 9 runners for 100,000 minutes of Linux 4‑vCPU jobs.
- 4. Identify cheapest option (SuperCI at ~$140).
- 5. Build SuperCI to run a machine per job in own cloud.
- 6. Optimize spot instance usage: handle termination, retry logic, fail‑fast off, newer machine families, disk speed, cache placement.
- 7. Switch CI jobs to SuperCI by updating runs‑on line in workflow YAML.
- 8. Deploy SuperCI via npx @superci/cli dashboard.
Evidence
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.
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.
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.
Whichever you pick, switching is one line per job: ... runs-on: superci/cpu=4
- Record date: 2026-10-27T20:11:20.390Z