Cheaper macOS Runners for GitHub Actions (2026): NoMac CI vs GitHub-Hosted

NoMac CI vs GitHub-hosted macOS runners

About a quarter of the price per macOS minute, on a newer Mac with twice the cores. Change runs-on to nomac and keep the rest of the workflow. $0.90 an hour per job, billed per minute.

A fresh Mac for every GitHub Actions job.

$0.90/hour per job · billed per minute · no subscription

7-day money-back guarantee on your first purchase. Prices checked 2 November 2026 from public list prices.

What GitHub-hosted macOS runners are

GitHub's own macOS virtual machines for Actions jobs. The standard runner behind macos-latest is a 3-core M1 with 7 GB at $0.062 a minute in private repositories ($3.72 an hour); the 5-core M2 Pro xlarge is $0.102 a minute and needs a Team or Enterprise plan. Standard runners are free in public repositories.

NoMac CI vs GitHub-hosted macOS runners at a glance

NoMac CI GitHub-hosted macOS runners
Price $0.90/hour, 1.5¢ a minute $0.062/min (standard), $0.102/min (M2 Pro xlarge)
An hour of macOS $0.90 $3.72 on the standard runner
A 15-minute test run 22.5¢ 93¢
Wikipedia's iOS unit tests 5m 24s, 9¢ a run 14m 32s, 93¢ a run in a private repository
Machine 6 cores and 8 GB of an Apple M4 to M6 3 cores and 7 GB of an M1 (macos-latest)
Xcode 27.0 on runs-on: nomac 26.6 on macos-latest; 27 on the xcode-27 label
More cores 6 cores on every job, no plan M2 Pro xlarge (5 cores), on a Team or Enterprise plan

Why teams choose NoMac CI

The verdict

macos-latest gives a job 3 cores of an M1 at $3.72 an hour. NoMac CI gives it 6 cores of an M4 or newer for about a quarter of the price, from the same workflow.

Switch in one line

jobs:
  test:
-   runs-on: macos-latest
+   runs-on: nomac
    steps:
      - uses: actions/checkout@v5

Steps, actions and secrets stay as they are. The docs cover the machine, the limits and secrets.

Questions

What is the best alternative to GitHub-hosted macOS runners for macOS jobs on GitHub Actions?

NoMac CI: change runs-on to nomac and every job runs on a fresh Apple silicon Mac with Xcode, 6 cores and 8 GB, at $0.90 an hour, billed per minute from prepaid credit. No subscription, no seats and no monthly minimum.

How much does NoMac CI cost?

$0.90 an hour, billed per minute, from the Mac's start to its stop with a one-minute minimum, from prepaid credit: $10 buys 11.1 hours and never expires. A Mac that never ran a job is credited back. 7-day money-back guarantee on your first purchase.

How do I switch?

Sign in at nomac.app, open CI and press Connect GitHub to install the NoMac CI app on your account or organization, on all repositories or the ones you pick. Then change runs-on: macos-latest to runs-on: nomac in the jobs that should run on NoMac. Steps, actions and secrets stay as they are.

What is on the Mac?

macOS 26.6.2, Xcode 27.0, iOS 27.0 Simulator, with Homebrew, CocoaPods, Node, Python and Ruby, on 6 cores and 8 GB of an Apple M4 to M6. Every job gets a fresh VM, deleted when the job ends.

How many jobs run at once?

Two per account, up to 6 hours each. More jobs wait in GitHub's queue for a free Mac, and teams that need more at once ask for it.

Does it work with GitLab, Bitbucket or Jenkins?

NoMac CI runs GitHub Actions jobs, for personal accounts and organizations, private and public repositories. From another CI system, a job can start a NoMac Mac with the NoMac CLI and run its build there.

A fresh Mac for every job, billed per minute.

Change runs-on to nomac. $0.90 an hour, billed per minute, 2 jobs at once, up to 6 hours each. $10 of credit is 11.1 hours of macOS jobs.