Pipelines
Commit a pipeline file (default .ci.yml) to the repo. A sample lives in
examples/.ci.yml
in the code repository:
runtime: node:24install: npm citest: npm testbuild: npm run buildtimeout: 15mRuntime
Section titled “Runtime”runtime is a Docker image. Omit it (or leave it empty) to run steps in this
worker process. A non-empty value uses docker run --rm against
CI_DOCKER_HOST (else DOCKER_HOST, else the default socket). Fork jobs
always use Docker: they take runtime from the pipeline file, or
default_runtime from settings. If the image is set but the engine is
unreachable, the job fails instead of falling back to the process executor.
Image names are allow-listed (no shell metacharacters, no leading -). A file
that only sets runtime: / timeout: still applies those while commands come
from the binding or package.json. See ADR 004.
Resolution order
Section titled “Resolution order”Highest first:
- the repo’s pipeline file
- the binding’s command overrides
- Node defaults inferred from
package.json:npm ci/pnpm/yarnby lockfile, thentestandbuildonly if those scripts exist - nothing to run → the check is reported as skipped, not failed
A step that fails stops the run; later steps are reported as skipped.
Defaults for the pipeline file path, timeout, and check name live in Configuration.