131% more reported CVEs per day in 2026 than last year.
← Back to Glossary

Build Minutes

Build minutes are the billing unit for CI compute: the time a runner spends executing jobs, multiplied by a rate that depends on the machine's size and OS.

Last updated: November 11, 2026

Build minutes are the billing unit for CI compute: the time a CI runner spends executing jobs, usually counted per job from start to finish, then multiplied by a rate that depends on the machine's size, operating system and architecture. A vCPU-minute is one minute of one vCPU, so a 4 vCPU runner busy for one minute uses four.

Three rules that change the count

Rounding. GitHub "rounds the minutes and partial minutes each job uses up to the nearest whole minute" (GitHub Actions runner pricing). Other vendors meter per second. Ten jobs of 20 seconds each are 10 billed minutes with per-job rounding, and about 3.3 minutes with per-second metering.

Size. A larger runner either costs a higher rate per minute, as GitHub's larger runners do, or uses up minutes faster through a cost factor or size multiplier, as GitLab and Bitbucket do.

Included usage. Plans include usage as minutes, credits or a dollar amount. GitHub now expresses it as a monetary amount rather than a number of minutes (GitHub Actions billing), so larger runners use it up faster.

How vendors count

VendorUnitHow run time is counted
GitHub ActionsMinutes, priced by size and OSEach job rounded up to the whole minute
GitLab.comCompute minutesJob duration in seconds divided by 60, times the machine's cost factor
CircleCICreditsPer second, rounded up to the next credit
Bitbucket PipelinesBuild minutesStep duration times the size multiplier
Buildkite hosted agentsvCPU-minutesPer second
CRACIvCPU-minutesPer second

For every vendor's prices, see CI runner pricing, and for free allowances, free CI minutes.

How to find your own number

On GitHub, the usage report lists minutes per repository, workflow and runner type. The GitHub Actions cost calculator explains where to find it and turns it into a monthly bill.

Windows and macOS

GitHub's pricing docs no longer list minute multipliers for Windows and macOS. They give a per-minute rate for each runner, and every runner's cost draws on the same included dollar amount. The standard rates are $0.006 a minute for Linux 2-core x64, $0.010 for Windows 2-core and $0.062 for macOS 3- or 4-core, M1 or Intel (GitHub Actions runner pricing). A Windows minute costs about 1.7 times a Linux minute, and a macOS minute about 10 times.

Why does my bill show more minutes than my builds took?

Usually because of matrix jobs and rounding, not the queue.

  • Matrix jobs. A matrix runs one job for each combination of its variables: three versions on two operating systems are six jobs (GitHub: running variations of jobs). Each job is billed on its own, and because they run in parallel, the workflow finishes long before its billed minutes add up.
  • Per-job rounding. GitHub rounds each job's billable minutes up to the next minute (viewing job execution time). Six matrix jobs of 70 seconds each run for 7 minutes in total and bill 12.
  • Queue time is not billed. GitHub bills the time a job executes on the runner (GitHub Actions runner pricing). Waiting for a runner makes a workflow slower, not more expensive.

The job summary shows each job's billable time, the quickest way to see where the minutes went.

The same job on three vendors

One job of 4 minutes 20 seconds on a 2 vCPU Linux x64 runner, at list prices checked on 2026-11-11:

VendorRunnerBilled asRateCost
GitHub ActionsLinux 2-core x645 minutes (rounded up)$0.006 a minute$0.030
CircleCIDocker medium, 2 vCPU44 credits (43.3 rounded up)10 credits a minute at $0.0006 each$0.0264
CRACIsize: 2260 seconds$0.004 a minute ($0.002 per vCPU-minute)about $0.0173

CircleCI rounds "up to the nearest second, and then up to the nearest credit", at $15 per 25,000 credits (CircleCI credits). Because rounding applies per job, the gap grows with the number of short jobs. The comparison covers compute only: plan fees, included usage, storage and differences in memory are left out.

CRACI

CRACI charges only for build minutes: $0.002 per vCPU-minute ($0.004 for a default 2 vCPU runner), metered per second, with no monthly fee and no per-SBOM charge. ARM64 is billed at the same rate. See pricing.

If your usage fits inside a plan's included minutes, the cheapest minute is the one you have already paid for.