[Fix] (CI): the latch-site gate's DrainRing pattern accepts the drain's poll-head parameter.

This commit is contained in:
2026-10-07 22:13:20 -04:00
parent a0f4aa830e
commit 92da2486c5
2 changed files with 6 additions and 2 deletions
+5 -1
View File
@@ -93,4 +93,8 @@ Dispatched runs (workflow_dispatch, not cancelled by later pushes):
- 781a7446: Test 37707221661.
- The close-out docs head: see the final report.
There is only one self-hosted GPU runner (`minipc-8845-arch-wsl-gpu`), so GPU jobs queue behind it.
Every `runs-on` in test.yml is GitHub-hosted `ubuntu-latest`, so long queueing is GitHub capacity /
max-parallel, not a runner of ours. `PeerLatch.SiteMap` (`scripts/ci/ph_latch_sites.py`) greps
ServerLoop.cpp's text: keep its patterns in step when DrainRing's shape changes (it caught the
`DrainRing(polledHead)` signature at a0f4aa83). Locally, filter environmental failures by exact
name - a `grep -v PeerLatch` hid it.
+1 -1
View File
@@ -99,7 +99,7 @@ MECHANICS = [
# pattern may not leave DrainRing's body (`\n }\n` closes a member function in ServerLoop.cpp).
(REMOTE / "Server" / "ServerLoop.cpp",
"DrainRing: no record is popped once the session latched (checked immediately before every pop)",
r"Uint64 ServerLoop::DrainRing\(\) \{(?:(?!\n \}\n).)*?for \(;;\) \{\s*if \(SessionLatched\(\)\) break;",
r"Uint64 ServerLoop::DrainRing\([^)]*\) \{(?:(?!\n \}\n).)*?for \(;;\) \{\s*if \(SessionLatched\(\)\) break;",
[("ServerLoopTest.cpp", "ALatchedRecordEndsItsBatchAndTheApplyThreadLeavesWithoutAStop"),
("PeerLatchTest.cpp", "ALatchedRecordIsTheLastRecordItsBatchApplies"),
("ServerLoopTest.cpp", "ALatchFromAnotherThreadBetweenTwoRecordsStopsTheNextPop")]),