Skip to content
Go to platform

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.

See Runner configuration for all supported cracicorp/setup@v1 inputs and Runner images for the available image names.

A malformed resource input such as a non-numeric size discards the whole setup step: the job runs on the built-in default template and CRACI reports a warning on the job. An unknown image name is rejected instead of running with a different image.

If you use a coding agent (Claude Code, Codex, Cursor, or similar), it can do the migration for you. Give it this prompt:

Migrate my GitHub Actions workflows to CRACI runners. Follow the guide at https://docs.craci.com/skills/craci/SKILL.md

The agent reads your repository’s workflows, proposes a per-job migration plan, and changes runner routing without touching build logic.

Your GitHub connection must already be in place before the agent can queue jobs on CRACI runners. See Connect your GitHub organization.