NoMac CI: macOS runners for GitHub Actions · NoMac
macOS runners for GitHub Actions.
4x cheaper and 2.7x faster than GitHub's runner. Change one line to switch, no subscription, billed per minute.
Then in your workflow: runs-on: nomac
name: CI
on: [push, pull_request]
jobs:
test:
- runs-on: macos-latest
- runs-on: nomac
steps:
- uses: actions/checkout@v5
- name: Build and test
run: |
set -o pipefail
xcodebuild test -scheme App -destination 'platform=iOS Simulator,name=iPhone 17 Pro' | xcbeautify
CI / test In progress
Set up job
macOS: 26, Xcode: 27, 6 cores, 8 GB
Run actions/checkout@v5
Build and test 1m 6s
- Compiling App.swift
- Compiling GreetingTests.swift
- Linking App
✔ testGreeting (0.002 seconds)
Executed 1 test, with 0 failures
Test Succeeded
Succeeded in 1m 15s.
A real run on NoMac: an iOS app built and tested in 1m 15s.
Features
One line to switch
Change runs-on to nomac. Your steps, actions and secrets stay as they are.
Faster Macs
6 cores of an Apple M4 to M6 and 8 GB for every job, where GitHub's standard runner gives 3 cores of an M1.
A fresh Mac per job
Every job gets a clean macOS VM, deleted when the job ends. Nothing carries over between jobs.
Billed per minute
From prepaid credit, with no subscription. A Mac that never ran a job costs nothing.
Jobs side by side
Two jobs at once on every account, so a matrix runs in parallel. Teams that need more just ask.
Long jobs welcome
Up to 6 hours a job, as on GitHub's own runners.
Pricing
Pay as you go
$0.90/ hour per job, billed per minute, from $10
Prepaid credit that never expires.
Enterprise
Custom volume pricing, invoiced monthly
For teams and platforms running many at once.
- Parallel at scale
- Dedicated resources
- Custom tools preinstalled
- Uptime SLA
- Priority support
Questions
What is NoMac CI?
macOS runners for GitHub Actions. Change runs-on to nomac, and each job runs on a fresh NoMac Mac with Xcode, billed per minute from your credit.
How do I set it up?
Sign in, open CI in your dashboard and press Connect GitHub. It installs the NoMac CI app on your account or organization, on all repositories or the ones you choose. Then change runs-on in your workflow.
What is on the Mac?
The same Mac as NoMac Session: macOS 26.6.2, Xcode 27.0, iOS 27.0 Simulator, with Homebrew, CocoaPods, Node, Python, Ruby and more.
How is it billed?
$0.90 an hour, billed per minute from the Mac's start to its stop, with a one-minute minimum, from the same prepaid credit as NoMac Session. About 4 times less than GitHub's standard macOS runner. Credit starts at $10 and never expires.
How many jobs run at once?
Two per account. More jobs wait in GitHub's queue for a free Mac, and teams that need more can ask.
Is it safe?
Each job runs on its own fresh VM, deleted when the job ends. It gets the job's secrets from GitHub and nothing else from your NoMac account, apart from its repository's build cache with runs-on: nomac-cache, which jobs from forks never get.
Which CI systems does it work with?
GitHub Actions, on personal accounts and organizations, private and public repositories.