How to Account for Minutes Multipliers by OS
On GitHub-hosted standard runners, Linux counts as 1x, Windows as 2x, and macOS as 10x, so one macOS minute equals ten Linux minutes.
Plan your matrix and job placement around these multipliers: move everything that can run on Linux to Linux, and keep macOS jobs short and rare.
Multipliers
| Runner OS | Multiplier | One job minute counts as |
|---|---|---|
| Linux (ubuntu) | 1x | 1 minute |
| Windows | 2x | 2 minutes |
| macOS | 10x | 10 minutes |
Keep expensive OSes minimal
.github/workflows/ci.yml
jobs:
# Cheap Linux job does the bulk of testing
test-linux:
runs-on: ubuntu-latest
steps:
- run: npm ci && npm test
# macOS only runs the platform-specific smoke test
test-macos:
runs-on: macos-latest
steps:
- run: npm ci && npm run test:macos-smokeGotchas
- Multipliers apply to billed minutes, so a 3-minute macOS job draws 30 minutes from your allowance.
- Public repos on standard runners are free regardless of OS; the multiplier hits private repos.
- Larger runners have their own per-minute rates on top of, not instead of, these tiers.
Related guides
How to Weigh the Cost of Larger RunnersDecide when a larger GitHub Actions runner is worth it: more vCPUs finish faster but bill a higher per-minute…
How to Compare Per-Minute Rates Across Runner TypesCompare the per-minute cost of GitHub Actions runner types, from standard Linux to Windows, macOS, and GPU-en…