just in CI: Installing and Running Recipes
In CI you install the just binary, then call just <recipe> as each pipeline step.
just shines in CI because the real commands live in a reviewable justfile and each step is one line. The main setup task is getting the binary onto the runner.
What it does
In a pipeline you install just (via a setup action, a package manager, or the official install script), then run recipes as steps: just lint, just test, just build. Because just exits non-zero when a recipe fails, the step fails the job naturally.
Common usage
# GitHub Actions
- uses: extractions/setup-just@v2
- run: just --version
- run: just test
- run: just build
# install via the official script (any runner)
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh \
| bash -s -- --to /usr/local/bin
just --justfile ci.just deploy productionSyntax
| Step | What it does |
|---|---|
| setup-just action | Installs the just binary on a GitHub runner |
| just --version | Confirms the installed version in the log |
| just <recipe> | Runs a recipe as a pipeline step |
| --justfile <file> | Use a CI-specific justfile |
| just VAR=value <recipe> | Override a variable from the pipeline |
In CI
Print just --version early so the log records which release ran. Keep a single justfile for both local and CI use, overriding values with just VAR=value rather than maintaining two files, so what developers run matches what the pipeline runs.
Common errors in CI
"just: command not found" means the install step was skipped or the binary is not on PATH. "error: No justfile found" means the step runs from the wrong directory; add --justfile or set the working directory. A recipe that calls a tool absent on the runner fails with "command not found" inside the recipe; install the tool or run inside a container that has it.