Skip to content
Latchkey

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

YAML / Terminal
# 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 production

Syntax

StepWhat it does
setup-just actionInstalls the just binary on a GitHub runner
just --versionConfirms 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.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →