Email me

Explainer · 4 min read

Filed under iOS and Swift App development

How much does a GitHub Actions macOS runner cost?

Short answer

On a private repo, GitHub's standard macOS runner costs $0.062 a minute, about 10 times the $0.006 Linux price. On a public repo using standard hosted runners it costs $0. Our 322 iOS build runs took about 2,573 minutes, roughly $160 at private prices. We paid nothing because the app repos are public.

Horizontal bar chart of GitHub Actions hosted runner prices per minute: Linux 2-core $0.006, Windows 2-core $0.010, macOS 3 or 4-core $0.062, macOS 12-core $0.077, macOS M2 Pro 5-core $0.102.
Per-minute prices for GitHub-hosted runners on private repos. Chart by Tensorust from GitHub's Actions runner pricing page, checked Oct 26 2026.

Part of the article Build an iOS app on Windows: how 21 apps shipped with no Mac. This page answers one question from it in depth.

On this page · 7 sections
  1. Key numbers
  2. Where the money goes
  3. What a month costs
  4. Common misconceptions
  5. Related
  6. FAQ
  7. Sources

Apple sells you the idea that iOS development needs a Mac on your desk. It does not. It needs a Mac for a few minutes per release, and GitHub rents those minutes by the minute, or gives them away if your code is public. That is the whole business case for building an iOS app on Windows.

Key numbers

What Number Source (checked Oct 26 2026)
macOS 3/4-core runner $0.062 / min GitHub runner pricing
macOS 12-core runner $0.077 / min GitHub runner pricing
macOS M2 Pro 5-core (arm64) $0.102 / min GitHub runner pricing
Linux 2-core runner $0.006 / min GitHub runner pricing
Public repo, standard runners Free GitHub Actions billing
Included minutes, Free / Pro / Team 2,000 / 3,000 / 3,000 a month GitHub Actions billing
Our macOS minutes, 322 runs ~2,573 (about $160 private) Our build log write-up
One Chain 1.2 release build 4 min 22 s (about 27 cents private) Our build log write-up

Where the money goes

Bar chart: our 2,573 macOS minutes priced as a private repo: Linux 2-core rate $15, macOS 3/4-core $160, macOS 12-core $198, macOS M2 Pro $262. Our real minutes, priced at each rate. Chart by Tensorust from GitHub's price list.

GitHub bills hosted runners per minute of job time. The macOS premium is not a markup on code, it is a markup on Apple hardware: Apple's license only lets macOS run on Apple machines, so GitHub has to rack Macs. Every iOS build has to touch one at some point, because xcodebuild and code signing only run on macOS.

The trick is to make that point small. In our pipeline, Windows and Linux do everything else, and the macOS job only generates the Xcode project, signs, builds and uploads. A typical release build ran a little over 4 minutes.

What a month costs

Line chart: monthly macOS bill against builds per month for 5, 12 and 25 minute builds at $0.062 a minute. 100 builds of 12 minutes is about $74. Build length matters more than build count. Chart by Tensorust.

  • 20 releases a month at 5 minutes: about $6.
  • 100 builds at 12 minutes (every push builds): about $74.
  • 300 builds at 25 minutes (a team, full test suite on macOS): about $465.

That last line is where people buy a Mac mini and run a self-hosted runner, which GitHub's billing page also lists as free.

Common misconceptions

Myth

"You need a Mac to ship an iOS app."

The recordYou need macOS for minutes, not a Mac on a desk. We shipped every app from Windows with hosted runners; signing is the hard part, and our PKCS12 fix guide covers the error that eats the most runs.

Myth

"Free minutes cover macOS the same as Linux."

The recordmacOS is priced at about 10x Linux per minute, so included minutes go much less far. Read your billing page before counting on them.

Myth

"Public repos leak your app."

The recordYour API keys and signing certificates live in encrypted GitHub secrets, not in the code. Ours were set up with an App Store Connect API key kept only in secrets.

FAQ

How much does a GitHub Actions macOS runner cost?

The standard macOS runner (3 or 4 cores) costs $0.062 per minute on a private repo, per GitHub's runner pricing page checked Oct 26 2026. The 12-core runner is $0.077 and the M2 Pro 5-core runner is $0.102.

Are GitHub Actions macOS runners free?

Yes on public repositories that use standard GitHub-hosted runners: GitHub says that usage is free. Larger runners are not free even on public repos.

Is macOS more expensive than Linux on GitHub Actions?

About 10 times more per minute: $0.062 for macOS 3/4-core against $0.006 for Linux 2-core.

How many free GitHub Actions minutes do I get on a private repo?

GitHub Free includes 2,000 minutes a month and Pro and Team include 3,000. macOS is priced far above Linux, so check how your billing page counts macOS against them before you plan around them.

How do I cut my macOS CI bill?

Make the repo public if you can, run lint and tests on Linux and only the Xcode build on macOS, cache dependencies, cancel superseded runs with a concurrency group, and only build on tags or a manual trigger.

Sources

All checked October 26, 2026.

  • GitHub Docs, Actions runner pricing: $0.006 Linux 2-core, $0.010 Windows 2-core, $0.062 macOS 3/4-core, $0.077 macOS 12-core, $0.102 macOS M2 Pro 5-core; larger runners not free on public repos.
  • GitHub Docs, GitHub Actions billing: free for public repos on standard runners and for self-hosted runners; 2,000 / 3,000 / 3,000 included minutes on Free / Pro / Team.
  • Tensorust, How we build iOS apps on Windows: 322 macOS runs, about 2,573 minutes, Chain 1.2 build 4 min 22 s.

Next question

Every number on this page links to its source and was checked on Oct 26, 2026. Spot an error or a newer figure? Email matt@tensorust.com and it gets fixed. Related: iPhone app cost calculator.

Read next

Back to The Manual →   All articles →

Get the next one by email.

What my AI agents tried this week, with the real numbers: what worked, what flopped, what made money. One email when there is something worth reading.

No spam, never sold. Every email has a one-click unsubscribe.

Up next

The article this answer comes fromBuild an iOS app on Windows: how 21 apps shipped with no MacHow to build an iOS app on Windows with no Mac: XcodeGen, a GitHub Actions macOS runner, signing via the App Store Connect API and fastlane. Real code and runs.Read it next →

Art: Nicholas Roerich, Depsang Plains (1925-26). Public domain, via Wikimedia Commons.

Get the receipts by email.

What my AI agents tried this week, with the real numbers: what worked, what flopped, what made money. One email when there is something worth reading.

No spam, never sold. Every email has a one-click unsubscribe.

Did this answer your question?

Popular in the shop

All 124 tools →

Browse: Bundles and kitsHome, family and schoolMoney and businessAI toolsSports and fitnessMaking and hobbiesFood and drinkIndie dev and launchTrading and quant

Free: Landing page teardown iPhone app cost calculator LLM API cost calculator Paid online: $49 Launch Check App builds Articles FAQ

Disagree, or have a number to add? Discuss this on The Floor →

What are people saying about this? Read and post on The Floor →