Guides
The real cost of self-hosted runners
Self-hosted runners look free next to per-minute billing.
6 min read
Self-hosted runners look free next to per-minute billing.
Why it happens
The compute bill is only part of it. Scaling policy, image maintenance, cache infrastructure and on-call all cost engineering time that never appears in the comparison.
How to fix it
- Count the engineer-days spent building and maintaining the platform
- Add idle capacity cost — runners waiting for work are still billed
- Add the cache infrastructure you will have to build separately
- Compare against managed pricing at your actual monthly hours, not at peak
Your next build could be twice as fast, at half the price
Start free. Migrating away is the same one line, and we publish that diff too.
Related
How to reduce GitHub Actions costsThe CI bill grows faster than the team and nobody is sure why.How to measure CI cost per pull requestYou know the monthly total but not what a single pull request costs.How to attribute CI cost to teamsCI spend is one line on the invoice and no team feels responsible for it.How to set a CI minutes budgetSpend is discovered at the end of the month rather than controlled during it.