Concepts
Wait, block, input, trigger
The four non-command step types.
Most steps run a command. The other four steps coordinate the build: they pause it, gate it on a human, collect a value, or kick off a sibling pipeline. Each maps to a step type in the JSON contract.
The four steps
| Step | What it does | When you'd use it |
|---|---|---|
wait | Barrier. All prior jobs must finish before any later job starts. | Separate lint/test from deploy. |
block | Pause until a human clicks unblock. | Manual approval before production. |
input | Pause and collect typed values from a human. | Choose a release tag at promote time. |
trigger | Start a build of another pipeline. | Fan out to a downstream service's CI. |
Source of truth
The step semantics live in the Scheme DSL evaluator at
cidsl/lisp/src/. The shape that crosses the API boundary is the JSON
contract — see DSL: JSON contract.