mac-runner
Installation
SKILL.md
Mac Runner Operations
Ditto's iOS pipeline runs two CI jobs on a self-hosted GitLab Runner on a MacBook in the rack: build-ipa (signs and builds the IPA via Xcode + fastlane match) and publish-app-store (uploads the IPA via fastlane deliver, which shells out to Apple's iTMSTransporter — that tool only ships inside Xcode, so this job can't run on Linux). This skill covers operating the Mac.
This skill covers operating the runner: SSH access, restarting after crashes or Xcode updates, watching logs, debugging fastlane locally, and rotating the match certificates. For initial provisioning, App Store Connect API key creation, and GitLab CI variable setup, load the ci-cd-publishing skill.
Quick reference
| Need | Command |
|---|---|
| SSH in | ssh alex@alexs-air.lan |
| Runner status | gitlab-runner status |
| Restart runner | gitlab-runner restart (after eval "$(/opt/homebrew/bin/brew shellenv)") |
| Stdout log | tail -f ~/gitlab-runner.out.log |
| Stderr log | tail -f ~/gitlab-runner.err.log |
| Runner config | ~/.gitlab-runner/config.toml |
| LaunchAgent plist | ~/Library/LaunchAgents/gitlab-runner.plist |