Skip to content

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.

jobs:
build:
runs-on: craci
steps:
- uses: cracicorp/setup@v1
with:
size: "4"
image: "default"
- uses: actions/checkout@v4
- run: make build

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.

InputDefaultDescription
size"2"Compute units, integer 1..32; each unit is 1 vCPU and 3 GB RAM
imagedefaultRuntime image name
disksnone(planned) YAML list of persistent disk requests

Each entry in disks describes one persistent disk:

- name: sstate
mount: /work/sstate
size: 100Gi
mode: rw
  • mount must be an absolute path.
  • Disk names must be unique within the job.
  • mode is rw or ro; omitting it defaults to rw.

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.