Quickstart¶
This is the shortest poll-mode path for one Mac and one repository. Install the controller first with Installation.
1. Create a minimal config¶
Create config.yaml:
github:
token: YOUR_GITHUB_PAT
owner: YOUR_GITHUB_OWNER
repository: YOUR_REPOSITORY
jeballto:
base_url: http://127.0.0.1:8011/v1
controller:
mode: poll
poll_interval: 10s
webhook_listen: :9090
labels:
jeballto-xcode26:
image: ghcr.io/jeballto/macos-ci:xcode-26
lifetime_seconds: 7200
2. Make the workflow use the same label¶
name: test-jeballto
on:
workflow_dispatch:
jobs:
test:
runs-on: jeballto-xcode26
steps:
- uses: actions/checkout@v5
- run: sw_vers
- run: xcodebuild -version
3. Start the controller¶
jeballto-actions-runner --config config.yaml --log-level debug
Leave that process running.
4. Trigger the workflow¶
Open the repository in GitHub and manually run the workflow from the Actions tab.
5. Confirm the lifecycle¶
You should see:
- Queued job detected.
- VM created and started.
- SSH enabled.
- Actions runner launched inside the VM.
- Job moves from queued to running.
- VM deleted after job completion.
Fast failure checks live in Troubleshooting.