CI / GitHub Actions

Workflow: .github/workflows/build.yml

Jobs

JobWhat it doesRunner
build-sharedswift build && swift test (398 tests)self-hosted macOS
build-iosxcodebuild build (no code signing)self-hosted macOS

UI tests are not yet part of CI (run locally via ./scripts/run-uitests.sh).

Self-hosted runner

Runs on the development Mac as a launchd service. Setup lives in the hogen monorepo: ../hogen/gh-mac-runner.

Runner labels: self-hosted, macOS, X64

Why self-hosted

GitHub-hosted macOS runners cost $0.08/min with a 10x multiplier on the free tier (2000 min/month = effectively 200 macOS minutes). A single build uses ~50 billed minutes, so the free tier covers ~4 builds/month. Self-hosted is free with no limits.

Management

~/actions-runner/svc.sh status   # check
~/actions-runner/svc.sh stop     # stop
~/actions-runner/svc.sh start    # start

Workflow file

runs-on: [self-hosted, macOS, X64]

No xcode-select step needed — uses whatever Xcode is installed on the runner Mac.