You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Name a release's steps in the releaseGate element, so the gate does not infer them #240
The releaseGate element names an Application's members and says nothing of the steps that come before them: its migration and its prepare Processes (chapter 55, Release order). The Release Gate answers may-start only once those have completed, so it has to know which they are.
Today it reads them off the cluster (JorisJonkers-dev/delivery#2): every identity that has ever run a release Job of the Application is a step, and its Job of this revision must be there and complete. That holds for every release but one. An Application's first migration has no earlier Job, so until its Job is applied the gate sees an Application with no steps and answers yes.
What to decide
Whether the releaseGate element carries the release's steps, for instance the identities whose Job of the revision must complete, so the gate reads what must happen from the render instead of inferring it from what has happened.
It would also be what the full gate (JorisJonkers-dev/delivery#3) starts: it unsuspends those Jobs, and needs their names from somewhere it can trust.
Acceptance criteria
Chapter 20's release-gate table says whether the steps are an input, and chapter 55 says what may-start reads.
If they are: both implementations write them, the ConfigMap carries them, and the gate refuses a release whose step has no Job.
Half of this landed with #263: the gate's inputs now carry the migration (releaseGate.migration: its identity, testedAgainst, nonTransactional), so a first migration is a step before its Job exists. Prepare Processes are still inferred from their Jobs; deploy-kit renders none yet.
The migration half landed in #263. This issue now covers naming the prepare Processes in the releaseGate element only. TypeScript only, after emf/ is deleted (#99).
Activity
ExtraToast commentedon Oct 5, 2026
Half of this landed with #263: the gate's inputs now carry the migration (
releaseGate.migration: its identity,testedAgainst,nonTransactional), so a first migration is a step before its Job exists. Prepare Processes are still inferred from their Jobs; deploy-kit renders none yet.ExtraToast commentedon Oct 9, 2026
Re-scoped by Decide the fate of the open work that predates the map
The migration half landed in #263. This issue now covers naming the prepare Processes in the
releaseGateelement only. TypeScript only, afteremf/is deleted (#99).