ci: one queue for all of CI, nothing cancelled (#140)

Every workflow shared the concurrency group qemu. A group keeps one running
and one waiting run, and a run that joins cancels the one waiting: Build
runs 245 and 247 were cancelled at 0 s by PR 164's Acceptance runs.

Captain Bob, 2026-11-11: "It should be global"; the runner has capacity 1.
So the concurrency block is removed from all six workflows (a comment in
each says why): with one runner at capacity 1 every job waits its turn in
Gitea's queue and none is cancelled, and a runner-image rebuild still
blocks the rest. CLAUDE.md's CI section corrected; FABRIC-3 XLVIII.19.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017RzZgrf7V7Zk2iczBXDRbm
This commit is contained in:
Claude
2026-11-11 21:12:06 +00:00
parent 3c1ccabc8e
commit 88d5f777bb
8 changed files with 47 additions and 23 deletions
+18
View File
@@ -6547,3 +6547,21 @@ and memorize frequently so we can pick up where we left off").
release was a pre-release; now it is not. The tag stays on `93828e0e`, its 13 assets unchanged;
moving a tag was not an option (tags are sacred), and today's work ships as alpha.5.
### 19. #140: one queue for all of CI, nothing cancelled (2026-11-11)
- **Found again:** Build runs 245 and 247 (the board images and the v4 tests) were cancelled at 0 s on
two pushes to PR 164's branch: the push queued Build in the shared `qemu` group, the PR's
Acceptance run joined seconds later, and a group keeps one running and **one waiting** run -- the
joining run cancelled the waiting one. The v4 tests were run by hand instead (79 programs, 0
failures; `logs/20261111-193825/v4-test`).
- **Ruled** (Captain Bob): "It should be global" -- one queue for all of CI. The runner
(`starshipos-vps`) has capacity 1 (Captain Bob: "capacity is 1").
- **Built:** the `concurrency:` block is gone from all six workflows, each with a comment saying why;
`.claude/CLAUDE.md`'s CI section corrected. With one runner at capacity 1, every job of every
workflow waits in Gitea's queue and none is cancelled; a runner-image rebuild still blocks the rest
(2026-11-07). What changes: the runner takes **jobs**, not runs, so another workflow's job may run
between two of Build's -- never beside one; one QEMU at a time holds.
- **Left to Captain Bob:** the offline duplicate runner registration (id 1, also `starshipos-vps`) --
removed, it can never take a job if it comes back. #140's "Done when" is met by this entry and the
workflows' comments once it reaches `master`.