macOS runners for GitHub Actions

Run your workflows on an Apple silicon Mac Studio by changing runs-on. $1.10 an hour, billed by the second, with no plan fee and no minimum.

Set up

  1. Connect GitHub

    In the console, open CI, click Connect GitHub and install the offstage cloud app on your GitHub organization. You don't need an API key.

  2. Change one line

    .github/workflows/ci.yml
    on: [push, pull_request]
    jobs:
      test:
        runs-on: offstage-macos
        steps:
          - uses: actions/checkout@v7
          - run: swift test

    Use offstage-macos for headless CI, or offstage-macos-gui for jobs that need a desktop.

Price

Public list prices for macOS runners, checked 7 November 2026, before included minutes and plan fees.

RunnerMachineRate10-minute job
offstageSandbox on a Mac Studio M5 Max$1.10 an hour, billed per second$0.18
GitHub ActionsStandard macOS runner, M1, 3 cores$3.72 an hour, billed per minute$0.62
NamespacemacOS runner, 4 vCPU$2.40 an hour prepaid; $3.60 overage$0.40
BlacksmithmacOS M4, 6 vCPU$4.80 an hour, billed per minute$0.80
  • The machines differ, and the same build may take a different amount of time on each. We have not published a matched build-speed benchmark.
  • An offstage job is one of up to 8 sandboxes on a Mac Studio M5 Max, sharing its 18 CPU cores and 36 GB of memory. CPU and memory are not reserved per job.
  • GitHub rounds each job up to a whole minute; offstage bills per second. Your GitHub plan's included minutes may cover some of your work.
  • Sources: GitHub, Blacksmith, Namespace. Product names belong to their owners; offstage isn't affiliated with any of them.

What a job gets

  • A fresh macOS account on a Mac Studio. GitHub's runner runs that one job, and the account is wiped when it ends.
  • macOS 27 on Apple silicon, with Xcode 27.2, the iOS 27.2 simulator, Swift, SwiftPM, Apple clang, git and make.
  • Billing from the moment a Mac takes the job until it ends. Waiting for a Mac is free.

Limits

  • A job runs for at most 60 minutes.
  • Up to 4 jobs run at once per team; 16 more can queue.
  • No sudo and no Homebrew. Steps run as the account's own user, so install tools into the project or the home directory.
  • Public repositories use your organization's runners only if its runner group allows them (GitHub: Settings, Actions, Runner groups).

The full guide is in the docs.

Try it

New personal accounts get $5 in free credit, about four and a half hours of runtime, with no credit card needed.

Connect GitHub

Read the docs, see pricing, or talk to an engineer.