Skip to main content

M6 Mac mini vs GitHub's hosted macOS runner: an Xcode build benchmark

Updated 3 min readMarkdown

We wanted a real number for one question. How much faster is a dedicated M6 Mac mini than GitHub's standard hosted macOS runner, on a real iOS app? So we built the open-source Wikipedia iOS app on both, with the same Xcode and the same script, three times each.

This post replaces our earlier M4 benchmark post. Every number here comes from runs made on September 24, 2026.

Results

Median of 3 runs, in seconds. Lower is better.

                      GitHub-hosted   MacRun M6   change
                      macos-26
package download            43            39       -8%
clean build                183            86      -53%
incremental build           21            10      -51%
no-op build                 20            10      -50%
220 unit tests              44            17      -61%

The M6 was about twice as fast at compiling. The package download was close, because both machines pull the same packages from GitHub over fast connections. Every step succeeded on both machines in every run.

What a normal CI job costs in time

The table compares the machines step by step. A real CI job is different on each. A hosted runner starts every job empty. It has to download packages, build from clean, and then test. A dedicated Mac keeps its build folder, so after a small change it only rebuilds what changed.

Full CI job, median of three runs.
GitHub-hosted, fresh VM   269 s
M6, empty caches          142 s
M6, warm caches            27 s

Hosted: download, clean build, tests. M6 warm: incremental build, tests.

That is the gap your team feels. A job that took four and a half minutes finishes in under thirty seconds. On a busy day of pushes, the saved minutes add up to hours.

The same job costs money on a hosted runner. GitHub rounds each job up to the minute, so 269 seconds bills as 5 minutes. At $0.062 a minute that is about 31 cents a job. On a dedicated Mac it costs nothing extra. Our cost calculator turns your own job count into a monthly figure.

The two machines

GitHub-hosted macos-26

  • Apple M2 Pro (Virtual), 5 cores
  • 14 GB memory
  • macOS 26.6.2, fresh VM per job
  • Xcode 26.6 (17F113)
  • Standard runner, $0.062 a minute

MacRun M6 mini

  • Apple M6, 12 cores, bare metal
  • 16 GB memory
  • macOS 27.0, same machine every job
  • Xcode 26.6 (17F113)
  • Flat $139 a month

The hardware details come from the machines themselves. Each run printed its chip, core count and memory before building. GitHub also sells larger macOS runners at higher per-minute prices. We tested the standard one because it is what most teams use.

The full method and caveats are in the full guide on macrun.dev.

Full disclosure, I run MacRun, which rents dedicated Mac minis for builds and coding agents.

About the author

  • MacRun rents dedicated M6 Mac minis by the day, week or month. Each Mac belongs to one customer. People use them to build and ship iOS apps from Windows or Linux, as CI runners, and as always-on Macs for Claude Code and Codex. Guides here are from macrun.dev.

No comments yet. Be the first to comment.