Run workflows on CRACI runners
CRACI runners are GitHub Actions-compatible: an existing workflow runs on CRACI by changing the job’s runs-on to craci. This guide covers how you can set up your workflow YAML. To get started, you need to already have a CRACI account connected to your GitHub organization or repositories.
Minimal workflow
Section titled “Minimal workflow”jobs: build: runs-on: craci steps: - uses: cracicorp/setup@v1 with: size: "4" image: "default" - uses: actions/checkout@v4 - run: make buildruns-on
Section titled “runs-on”Set runs-on: craci to send a job to a CRACI runner. The craci label is what GitHub uses to queue the job for CRACI. This is the minimum setup. Add the setup step to choose the runner size or image.
cracicorp/setup@v1 inputs
Section titled “cracicorp/setup@v1 inputs”| Input | Default | Description |
|---|---|---|
size | "2" | Compute units, integer 1..32; each unit is 1 vCPU and 3 GB RAM |
image | default | Runtime image name |
disks | none | (planned) YAML list of persistent disk requests |
Disk requests (planned)
Section titled “Disk requests (planned)”Each entry in disks describes one persistent disk:
- name: sstate mount: /work/sstate size: 100Gi mode: rwmountmust be an absolute path.- Disk names must be unique within the job.
modeisrworro; omitting it defaults torw.
Malformed inputs
Section titled “Malformed inputs”Malformed cracicorp/setup inputs do not fail the job. If an input is invalid (for example a non-numeric size), CRACI schedules the job with default resources and runs it anyway. If a run does not get the size or image you expected, check the setup inputs for a typo.