Skip to content

Self-hosted CI runners

Your dedicated Mac makes an excellent self-hosted CI runner — full performance, persistent caches, and no per-minute macOS billing.

On your Mac, from your repo’s Settings → Actions → Runners → New self-hosted runner, follow the macOS instructions:

Terminal window
mkdir actions-runner && cd actions-runner
curl -o actions-runner-osx-arm64.tar.gz -L <URL-from-GitHub>
tar xzf actions-runner-osx-arm64.tar.gz
./config.sh --url https://github.com/ORG/REPO --token <TOKEN>
./run.sh # or install as a service:
./svc.sh install && ./svc.sh start

Target it in a workflow with runs-on: self-hosted (or a custom label).

  • Clean DerivedData and old simulators regularly to reclaim disk.
  • Pin Xcode versions with xcodes so builds are reproducible.
  • Watch free space with df -h; upgrade the SSD tier if needed.