Write Kerrigan Workflows
A Kerrigan workflow has two layers:
- a GitHub Actions job that runs on a Kerrigan runner
- a checked-in Kerrigan manifest that describes work for the DevKit fleet
GitHub Actions Job
name: DevKit Smoke
on:
workflow_dispatch:
pull_request:
jobs:
devkit-smoke:
runs-on: [self-hosted, kerrigan]
timeout-minutes: 60
env:
KERRIGAN_MANIFEST: .kerrigan/smoke.yaml
KERRIGAN_SERVER_URL: http://fleet-manager:8000
steps:
- uses: actions/checkout@v4
- run: kerrigan-runner-bridge --timeout-sec 3600
Minimal Manifest
metadata:
name: devkit-smoke
scheduling:
max_devkits: 1
labels:
kerrigan.board: modalix
tasks:
- id: uname
type: command
command:
shell: uname -a
Recommended Pattern
Use static manifests committed with the repository. They are easier to review, reproduce, and promote across branches than dynamically generated YAML.
For realistic tests:
- install runtime packages through
source.artifactsorsource.vulcan_artifacts - select devices with labels instead of hardcoded target IDs
- set command timeouts and idle-output timeouts
- add
teardown.per_devkitfor cleanup that should always run
Install Authoring Skills
For a local development environment, install the Kerrigan playbooks before authoring workflow manifests:
sima-cli playbooks install gh:sima-neat/kerrigan
This makes Kerrigan-specific workflow authoring guidance available to supported development tools.
The full manifest reference is in the Kerrigan manifest guide and Workflow spec reference.
Watch Progress
After kerrigan-runner-bridge creates a session, the dashboard shows live
progress in Sessions. Use the session list to find the run, then open the
detail view to inspect task state counts, assigned DevKits, attempts, exit
codes, and collected logs. See Session Dashboard for the
full operator flow.