CI/CD Cost Calculator

GitHub Actions quotes $0.006/minute for Linux. A 5-person iOS team shipping ~900 macOS builds a month still lands near $1,400 — before Windows, Linux, and artifact storage. This calculator models builds/day per OS, matrix multipliers, artifact retention, and included minutes, then compares the monthly bill across GitHub Actions, GitLab CI, and CircleCI and flags your self-hosted runner break-even.

Build Volume by OS

Set average builds per working day and average duration per OS. Job minutes round up to the nearest whole minute per job (a 20-second install bills 1 minute). Typical iOS-heavy team: ~41 macOS, ~30 Linux, ~6 Windows builds/day on 22 working days ≈ 1,700 jobs/month.

macOS $0.062 / min

iOS / CocoaPods / Xcode

Linux $0.006 / min

Node / Go / backend services

Windows $0.010 / min

Desktop / .NET / cross-platform

Matrix multiplier applies to every OS. A 3x2 matrix turns one push into six jobs — the most commonly missed line in CI budgets.

Artifacts & Included Minutes

Included minutes are deducted Linux-first, then Windows, then macOS. Public repos and open source get unlimited hosted minutes and can ignore this.

Why Your CI Bill Is 100x the Rate Card

The pricing page shows $0.006 per minute and the math that follows is honest: 10 minutes of Linux build time costs six cents. What the pricing page cannot show is the shape of real pipelines. Teams do not run 10-minute Linux jobs in isolation. They run short jobs that bill a full minute each, iOS jobs on macOS at ten times the Linux rate, matrix jobs that turn one commit into six, and artifact retention that compounds on top. Multiply those together and a team that "should" cost $18 a month in napkin math lands closer to $1,400 — the calculator above reproduces that gap with your own numbers.

The macOS Multiplier Is the Budget Killer

macOS runners bill at $0.062/min ($3.72/hour) because Apple silicon does not virtualize the way x86 Linux does — every macOS runner is a physical Mac depreciating in a data center. A 25-minute iOS build costs $1.55; the equivalent Linux build costs $0.03. Run 40 of those a day and macOS alone is $1,300+ a month. This is why CI/CD spend concentrates in mobile teams, and why the first question for any pipeline audit is: how many of your minutes are macOS?

Per-Job Rounding and Matrix Fan-Out

Two silent multipliers sit between the rate card and the invoice. First, GitHub rounds each job's minutes up to the nearest whole minute — a 20-second dependency install is billed as 1 minute, so five short jobs a day quietly cost the same as one 25-minute job. Second, matrix strategies multiply job count, not duration: a 3×2 matrix turns one build into six jobs, and each pays the per-job overhead of cache setup and checkout. The calculator's matrix input makes that fan-out visible in the minute total.

Cache Misses, Artifacts, and Storage Drag

Scenario (per job)Warm cacheCold cacheMultiplier
Node.js install (Linux, $0.006/min)1 min → $0.0066 min → $0.0366x
iOS / CocoaPods (macOS, $0.062/min)1 min → $0.06212 min → $0.7412x
Docker build (Linux, layer cache)2 min → $0.01214 min → $0.0847x
Rust / C++ compile (Linux)3 min → $0.01822 min → $0.1327x

Cache misses do not carry a surcharge — they add job time, and job time is billed. GitHub's cache is capped at 10 GB per repository with a 7-day inactivity expiry, so monorepos with multiple workflows evict each other's caches and pay the difference. Artifact storage is quieter but permanent: GitHub gives 500 MB of shared storage for Actions artifacts and Packages, then bills $0.25/GB/month on steady-state volume — daily builds times retention days, not per-build spikes.

Why this tool matters: Every CI vendor publishes a rate card; none show your bill. The difference between the two is your workload's OS mix, job count, and retention policy. Model them once here, and the platform comparison plus self-hosted break-even stops being a guess.