CICDCost.com is an independent comparison resource. Not affiliated with GitHub, GitLab, CircleCI, Buildkite, or any CI/CD vendor. Try our CI/CD calculator

CI/CD Cost Per Build Minute: How It Is Counted and What You Are Actually Paying

A practical guide to CI billing mechanics, OS multipliers, and the hidden costs most guides ignore. Updated April 2026.

How Build Minutes Are Counted

What counts as a build minute
  • - Timer starts: when a runner accepts your job
  • - Includes: environment setup, checkout, all steps
  • - Timer ends: when the job completes (pass or fail)
  • - GitHub Actions: rounds up to nearest minute
  • - CircleCI: rounds to nearest second
Parallel jobs multiply costs

Parallel jobs each count independently. A 10-minute workflow with 3 parallel test jobs = 30 build minutes. The wall-clock time is 10 minutes, but you are billed for 30 minutes of compute. This is a common billing surprise for teams new to parallel CI.

OS Multipliers: GitHub Actions

OSMultiplierEffective rate (2026)Old rate
Linux (Ubuntu)1x$0.006/min$0.008
Windows1.67x$0.010/min$0.016
macOS8x$0.048/min$0.080

GitLab CI SaaS has no OS multipliers. All OS types cost the same $0.010/min. CircleCI cost varies by resource class (compute size), not OS.

Hidden Costs Beyond Build Minutes

Cost
Artifact storage overages

GitHub Actions: 500 MB free (Team: 2 GB). Beyond that: $0.008/GB/day. A project storing Docker images or build binaries at 50 GB/day of artifacts accumulates $400/month in storage costs. Default retention is 90 days - reduce to 7-14 days for large artifacts.

Cost
Data egress from Docker image pulls

Pulling a 2 GB Node.js Docker image on every build run. At 500 runs/month: 1 TB egress. On cloud-hosted runners, egress to the internet can incur charges. Using a cache registry (GitHub Container Registry, ECR) to avoid repeated pulls can reduce egress significantly. Link: egresscost.com for egress cost analysis.

Cost
macOS runner scarcity and queue time

GitHub-hosted macOS runners are a shared pool. During peak times, queue times can extend significantly. A 15-minute iOS build may have a 5-minute queue time - not billed, but slows feedback. Self-hosted Mac minis have no queue beyond your own concurrent jobs.

Cost
SSO and enterprise security add-ons

SSO enforcement, SAML authentication, audit logs, and IP allowlisting are enterprise-only features on most CI platforms. Getting these often requires upgrading from $4/user/month to $21/user/month (GitHub) or $29/user/month to $99/user/month (GitLab). The jump can be $200-800/month for a 25-person team.

Cost
Self-hosted runner platform fee (GitHub Actions)

From March 2026: $0.002/min for self-hosted runners on private repos. This is a new cost that didn't exist before and directly increases the cost of self-hosting on GitHub Actions. See self-hosted vs cloud CI for the recalculated break-even.

Cost Per Deployment: A More Intuitive Frame

Engineers think in deployments, not minutes. Here is how to translate:

Team deployment rateAvg build timeMonthly cost (GitHub Actions Linux)
10 deploys/day (250 working days)8 min avg~$120/year = $10/mo
50 deploys/day8 min avg~$600/year = $50/mo
200 deploys/day8 min avg~$2,400/year = $200/mo
200 deploys/day (macOS builds)15 min avg~$52,200/year = $4,350/mo

How Caching Affects Cost

Direct linear relationship: reduce build time by 50%, cut cost by 50%.

Cache strategyWithout cacheWith cacheSaving per run (GitHub Actions Linux)
npm install3 min20 sec~$0.016
pip install4 min30 sec~$0.021
Docker layer build10 min2 min~$0.048
Maven dependencies6 min45 sec~$0.030

At 1,000 runs/month with npm caching: $16/month saved. At 5,000 runs: $80/month. Caching is the highest-ROI optimisation available. See our full CI cost optimization guide.

FAQ

What is a build minute?
A build minute is one minute of compute time from when a runner accepts a CI job to when it finishes. Includes setup, checkout, and all steps. GitHub Actions rounds up to the nearest minute. CircleCI rounds to the nearest second. Parallel jobs each count separately - if you run 3 jobs simultaneously for 10 minutes each, you are billed for 30 build minutes.
What are the hidden costs of CI/CD?
Beyond per-minute rates: artifact storage overages ($0.008/GB/day on GitHub Actions beyond free tier), macOS and Windows OS multipliers (macOS is 8x more than Linux on GitHub Actions), concurrent job limits forcing tier upgrades, data egress from Docker image pulls, SSO enterprise add-ons requiring expensive plan upgrades, and the new $0.002/min self-hosted runner platform fee on GitHub Actions (March 2026).
Does caching really reduce CI costs significantly?
Yes. Caching reduces build time directly, which reduces cost proportionally. npm install from cache takes ~20 seconds vs 3 minutes uncached - saving $0.016 per run on GitHub Actions. At 1,000 runs/month: $16/month from a single cache. Docker layer caching on a build that previously rebuilt from scratch can save $0.048 per run. These savings compound across all projects in your CI system.