Glossary

macOS minute multiplier

macOS runner time on GitHub Actions costs roughly ten times the Linux rate. Why Apple hardware carries that premium, and how to keep it off your bill.

Why do macOS runners use about 10x the minutes?

The macOS minute multiplier is the price gap between macOS and Linux runner time on GitHub Actions: at GitHub's current list prices one macOS minute costs roughly ten Linux minutes (as of 2026-07-28) — the same ratio GitHub published as a multiplier before the January 2026 repricing. GitHub no longer publishes a numeric included-minute multiplier, so treat quota consumption as at least proportional to that price gap rather than as a documented 10x conversion.

How it is billed

GitHub's runner pricing reference lists the standard-runner rates below (as of 2026-07-28). Because GitHub publishes no numeric included-minute multiplier any more, the ratios below are computed from that rate card and describe relative price, not a documented quota-conversion factor:

OS Standard-runner rate Price vs Linux
Linux (2-core x64) $0.006/min 1x
Windows (2-core x64) $0.010/min ~1.7x
macOS (3–4 core) $0.062/min ~10x

Historically GitHub published Windows at 2x and macOS at 10x; after the 2026-01-01 repricing the macOS figure still matches the price ratio, the Windows one no longer does.

So a 12-minute macOS job costs roughly what 120 minutes of standard Linux would — a single iOS build pipeline running a few times a day can exhaust a Free-plan account's included minutes (2,000 per month, as of 2026-07-28) far faster than wall-clock time suggests, and generates paid overage at roughly ten times the Linux rate once they are gone. The premium stacks with per-job minute rounding: a 61-second macOS job bills as 2 minutes, which at the macOS rate costs about what 20 Linux minutes would. Standard runners on public repositories remain free, and self-hosted runners consume no included minutes as of 2026-07-28 — GitHub announced a per-minute Actions platform charge that would draw on the same quota, then postponed it, so treat this one as a moving target.

Why Apple hardware costs more

The premium is not arbitrary. The reason usually given is licensing: Apple's terms are commonly cited as permitting macOS to run only on Apple-branded hardware and as limiting how many virtual instances may share one physical machine. GitHub therefore cannot pack macOS jobs onto commodity x86 servers the way it packs Linux jobs — it operates fleets of actual Macs with far lower job density per dollar of hardware. The roughly tenfold rate passes that economics through to the billable minute.

Why it matters

Because every macOS minute costs roughly tenfold, waste on macOS runners dominates waste everywhere else. The usual suspects:

  • Jobs that do not need macOS. Linting, unit tests, and dependency audits for an iOS project run fine on Linux; only building, signing, and simulator tests need a Mac.
  • Retries. The retry tax is bad enough at 1x; a flaky macOS suite re-run "until green" pays it at ~10x.
  • Superseded runs. Without concurrency cancellation, every rapid push pays for a macOS build nobody will look at — see cancelled vs failed runs for why those cancellations are savings, not failures.
  • Duration creep. A macOS build that drifts from 10 to 14 minutes adds four billed macOS minutes per run — about $0.25 at list price, the same as roughly 40 minutes of standard Linux; duration percentiles catch the drift before the invoice does.

Broader tactics — caching, path filters, workflow-level triggers — are covered in reducing GitHub Actions costs and GitHub Actions billing explained.

TrimCI estimates compute cost from synced run durations times a single per-organization runner-minute rate you configure, so heavy repositories and pipelines rank in dollars rather than raw minutes. It does not split that rate by runner OS today — if macOS is a large share of your spend, set the rate to your blended cost or read the macOS repositories against the ~10x premium yourself.

← All CI/CD terms

schedule Fast setup · 14-day free trial

See what your CI failures actually cost.

Connect GitHub Actions or GitLab CI with read-only access — never your source code — and get a ranked, dollar-costed fix list from your own pipeline data.