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

✔ 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.

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.