Concepts

Stage states

A run doesn’t move through your pipeline in one leap — it travels it one stage at a time. While the run as a whole has a single run state, each stage in the pipeline carries its own state, telling you where the run is and what’s left ahead.

You see these states on the run detail page, where the pipeline is drawn as a row of stages. Each stage is styled to show its state at a glance: the one the run is working sits in the middle, the stages behind it are done, the stages ahead are still waiting.

The six stage states

Pending

The run hasn’t reached this stage yet. Every stage starts here when a run begins, and stays Pending until the run finishes the stage before it.

A Pending stage needs nothing from you — it’s simply ahead of where the run currently is. It shows muted, waiting its turn.

In Progress

The run is working this stage right now: writing code, running tests, opening the stage’s pull request. Exactly one stage is In Progress at a time — it’s where the run currently lives.

The active stage stands out as in-progress. You don’t act on an In Progress stage; you watch it, and the run moves on by itself when the stage’s work is done.

Waiting for Gate

The stage’s work is finished, but the stage can’t be marked done until its gate condition is met. The most common case: the stage is waiting for you to merge the pull request it opened — its Auto-merge PR setting is off, so the merge is yours to make.

This is the stage state where the run usually needs you. The stage is highlighted as a gate. Satisfy the gate — merge the pull request — and the stage moves on.

Waiting for Deploy

The stage’s pull request has been merged, but the stage isn’t done yet: it’s waiting for the merged code to be deployed before it advances. A stage only reaches this state when its deploy confirmation setting is on.

The stage is still highlighted as a gate while it waits. The stage clears it when DIJJI.ai is told the deployment finished — or when you push it past the wait yourself with Force Advance, which becomes available an hour after the pull request was merged. While a stage sits in Waiting for Deploy, the run as a whole stays in the Waiting for Gate run state. See Deploy confirmation and the deploy wait.

Passed

The stage is done. Its work finished and its gate condition was met, so the run has moved past it to the next stage. The stage is tinted done.

A row of done-tinted stages behind the In Progress stage is the run’s progress so far — each one a stage delivered.

Failed

The stage hit a problem it couldn’t get past, and the run stopped here. The stage shows in red.

When a stage fails, the run as a whole ends in the Failed run state. The stages still ahead of it stay Pending — the run never reached them. Open the run detail page to see the failure reason before deciding whether to start a new run.

Reading the pipeline at a glance

Because each stage carries its own state, the row of stages tells you the whole story of a run without your reading any detail:

[Passed]  [Passed]  [Waiting for Gate]  [Pending]  [Pending]
  done      done       needs you         ahead       ahead

Muted ahead, done-tinted behind, and one stage marking where the run is — highlighted as a gate when it needs you, or showing as in-progress while it works. That’s a healthy run in motion. A stage in red marks where one stopped.

How a stage moves through its states

A stage advances in one direction:

Pending  →  In Progress  →  Waiting for Gate  →  Waiting for Deploy  →  Passed
                  │
                  └──────────────────────────────────────────→  Failed   (the run stops)

A stage skips the steps it doesn’t need. A stage that merges automatically (Auto-merge PR on) skips Waiting for Gate — there’s no merge to wait on. A stage with deploy confirmation turned off skips Waiting for Deploy. A stage with neither goes straight from In Progress to Passed.

One more state, Skipped, is reserved for a stage that wasn’t included in a run. In an ordinary pipeline every stage runs, so this is not a badge you’ll normally see.

Stage state and run state

The two states answer different questions. The run state tells you what the run as a whole is doing — Running, paused, or finished. The stage state tells you where in the pipeline that’s happening.

They line up: when a stage is Waiting for Gate, the run is in Waiting for Gate; when a stage is Failed, the run is Failed. Read the run state for the headline, and the stage badges for the location. For the full set of run states, see Run states.