Help center › CI/CD and automation

Use your Mac as a GitHub Actions runner

Register a self-hosted runner and run it as a service so it survives reboots.

  1. In GitHub, open the repository or organisation → Settings → Actions → Runners → New self-hosted runner, and choose macOS / ARM64.
  2. Over SSH on your Mac, run the download and ./config.sh --url … --token … commands GitHub shows you.
  3. Install it as a service so it starts after a reboot:
    ./svc.sh install
    ./svc.sh start
  4. Target it from a workflow with runs-on: [self-hosted, macOS, ARM64].

After a reboot

On macOS the runner service is a LaunchAgent for the dev user, so it runs only while dev is logged in to the desktop. Logging in over SSH isn’t enough. After a reboot or reset, either log in once with Screen Sharing, or turn on automatic login for dev in System Settings → Users & Groups so the runner comes back by itself. GitLab Runner works the same way and recommends automatic login too.

Your Mac is set never to sleep and to start up again after a power cut, so once dev is logged in the runner stays online.

Related

Use your Mac as a GitLab RunnerInstall GitLab Runner for Apple silicon, register it with the shell executor and run it as a service.Code signing in CI buildsImport your signing certificate and provisioning profile into a temporary keychain for each job.Ship to TestFlight with fastlaneInstall fastlane and upload builds with an App Store Connect API key.

Still stuck?

Signed-in customers can message us from the portal; we reply within 24 hours on business days (AEST).