What Are CI Minutes and How Does Billing Work?
A "CI minute" is a minute of wall-clock job execution. The catch is rounding-up and per-machine multipliers, which make the bill grow faster than raw runtime.
Most CI providers meter usage in minutes of job time. Understanding rounding, multipliers, and what counts as billable time is the difference between a predictable bill and a surprising one.
What counts as a minute
Billing typically tracks each job’s execution time - from when it starts running to when it finishes - and rounds up to the nearest whole minute. A job that runs 61 seconds is usually billed as two minutes. Queue time is generally not billed, but cold-start setup inside the job is.
Machine multipliers
Larger runners and non-Linux operating systems apply a multiplier. A minute on a big Windows or macOS runner can count as several Linux minutes, so the same work on a heavier machine costs disproportionately more.
- Linux is usually the 1x baseline.
- Windows and macOS carry higher multipliers.
- Larger CPU/RAM tiers multiply on top of the OS factor.
Why bills surprise teams
Per-job rounding punishes pipelines with many short jobs (a 200-job matrix of 30-second jobs bills 200 minutes, not 100). Re-runs from flaky or transient failures double the cost of the same work. And oversized runners chosen "just in case" multiply every minute.
Reducing the meter
- Cache dependencies so each job spends fewer billable seconds setting up.
- Right-size runners; do not pay a multiplier you do not need.
- Cut flaky re-runs - you pay for every retry.
- Consolidate tiny jobs that each lose a full minute to rounding.
Key takeaways
- CI minutes meter job execution time, almost always rounded up.
- Machine OS and size apply multipliers on top of raw minutes.
- Many short jobs and flaky re-runs inflate the bill the most.
- Caching, right-sizing, and killing flake are the highest-leverage savings.