train S5: merge #3960 at a0d44c31ca v1.94.44.0

This commit is contained in:
garrytan committed 2000-01-01 00:00:00 +00:00
commit 0d7353fdc1
12 files changed
+216 -59

No files matched your search

+13 -1
View File
@@ -330,7 +330,19 @@ keeps the lease. `bin/gstack-lease list` shows `alive|idle|dead|stale`, and
the installer prints `the install verdict at <file> keeps for=<old> and adds
<new> (for=<list>)`, and the trailer still names this run's workflow). A
failing run, a new HEAD or another Bun replaces the verdict, and so does any
workflow install over a review-voice verdict. Admission refuses a workflow whose
workflow install over a review-voice verdict. Each workflow install (and
`--check`) also writes that workflow's own verdict beside it, at
`<verdict>.for/<workflow>.json`, with only this run's result. When the shared
verdict does not admit a workflow, admission and the pregate try the
workflow's own record with the same checks, so a later install for another
workflow on a shared machine (a /ship docs child resolving another Bun, or a
failed child install) never drops /ship's admission (GST-1233). A new HEAD
still invalidates both, and a failed `./setup` (`gstack: fail setup`)
invalidates every workflow's record. `--check --for <workflow>` keeps the
Bun that workflow's own record holds. The launch file and launch directory
stay shared per checkout and project (GST-1239), so the pregate launches
from the recorded Bun's own directory when the launch directory's `bun`
resolves to another one. Admission refuses a workflow whose
running Bun is not the one the verdict recorded
([BUN_RESOLUTION_DRIFT](troubleshooting.md#bun-resolution-drift)), and so
do the pregate's lanes and guards, which also refuse an invalid verdict