diff --git a/docs/releases.md b/docs/releases.md index 18b473bad..520a22987 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -29,7 +29,8 @@ it has completed and none failed, and `refs/notes/gstack-trains` holds no active freeze. A cancelled check run counts as red. A commit with a check run still going is skipped and the next older one is considered, back through 7 days or 200 first-parent commits. The workflow runs no tests and no paid evals -of its own; it only reads what the trains and the backstop already recorded. +of its own; it only reads what the trains, the backstop and the release gate +already recorded. With nothing green in the window it fails and lists why each commit was skipped. @@ -54,7 +55,8 @@ contains it refuses the cut like a freeze. Train evidence relaxes nothing else: a red backstop run, a failed or missing `free-tests` run, any other red check run or a run still going keeps the commit out, and a record in any other state (`red`, `superseded`, `free-green`, …) is not evidence. A commit with -neither a successful backstop run nor a train record is not released: a +none of the three (no successful backstop run, train record or GREEN release +record) is not released: a dependabot push, a policy without a train block, or a tree that was never gated. @@ -311,11 +313,12 @@ is exercised against real check runs before it merges. | Line | Meaning | |---|---| -| `CANDIDATE: () gated by main-backstop|train ` | the commit that will be (or was) released, and which evidence gated it (`[hotfix: --ref]` before `gated by` on a `--ref` cut) | +| `CANDIDATE: () gated by main-backstop|train |release gate run ` | the commit that will be (or was) released, and which evidence gated it (`[hotfix: --ref]` before `gated by` on a `--ref` cut) | | `NOTHING_NEW: origin/main is already released as v` | nothing merged since the last release; exit 0 | | `NO_GREEN_COMMIT: ...` with `SKIPPED:` lines | nothing in the window passed the gate; exit 1 (a dry run exits 0: the skips are its answer) | | `REFUSED: non-fast-forward: ...` | the candidate is behind stable; stable only moves forward | | `REFUSED: queue frozen since train ...` | the main backstop froze the queue; clear it first (docs/ship-policy.md) | +| `REFUSED: release gate red on () and no gate on a later commit is green; ...` | the release gate's hold: land the revert or fix-forward, then `gstack-release-gate run --ignore-cadence` ([docs/ship-policy.md#release-gate](ship-policy.md#release-gate)) | | `REFUSED: tag v already names ` | a version was stamped twice; needs a look before anything is cut | | `REFUSED_FLOOR: stable moved to v at