Repository navigation
ci: split Linux gates and isolate native Windows tests - #1560
Conversation
Test-First: scripts/ci/linux-split.test.mjs::Linux sub-lanes run every Linux gate exactly once Test-First: scripts/ci/linux-split.test.mjs::Linux required check aggregates both legs and fails closed
Test-First: scripts/ci/linux-split.test.mjs::Linux sub-lanes run every Linux gate exactly once Test-First: scripts/ci/linux-split.test.mjs::Linux required check aggregates both legs and fails closed
Test-First: scripts/ci/linux-split.test.mjs::HQ tests run on a Linux leg with Gitleaks installed before gates
Test-First: scripts/ci/linux-split.test.mjs::HQ tests run on a Linux leg with Gitleaks installed before gates
|
Root disposition of the Kimi second review (moonshotai/kimi-k3, head f6b9051, review-openrouter/out/pr1560-kimi-f6b9051e.md):
|
|
Root 2026-10-15 18:36:17, head f6b9051: R1560-K3 (Kimi, medium, red-first needs only linux_1, ci.yml:654) REJECTED with evidence: the steps 'red-first - plan' (ci.yml:248) and 'red-first - proof against merge base' (ci.yml:350) run inside job linux_1 (lines 160-374), so the verdict job needs exactly that leg; the required gate check remains the aggregate 'gates (linux)' (.mergify.yml:69-71, ci.yml:427). Reviews at f6b9051: Claude APPROVE (A1 high + B1 medium resolved, run 38757771098 success) + Kimi (K1 rejected, K2 follow-up, K3 rejected). Note for the user: public repo, so extra Windows minutes cost no money. Marking ready; review-ok only after ALL checks incl. CodeQL are green on this head. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f6b9051e92
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| - name: Gates (linux) | ||
| if: steps.plan.outputs.run != 'false' | ||
| run: bash scripts/ci/gates.sh lane linux | ||
| run: bash scripts/ci/gates.sh lane linux_1 |
There was a problem hiding this comment.
Restore the canonical Linux lane in CI
This workflow now invokes the new linux_1 lane here and linux_2 later, although the repository contract requires ci.yml to call the canonical linux lane exactly once. As a result, local lane linux and CI use separate orchestration paths, and every Linux gate must maintain duplicated membership in linux plus one shard—the configuration drift this invariant is intended to prevent. Keep the sharding behind the canonical lane interface rather than exposing additional workflow lanes.
AGENTS.md reference: AGENTS.md:L216-L218
Useful? React with 👍 / 👎.
|
Root review gate 2026-10-15 18:43:05, bound to head f6b9051: Claude APPROVE + Kimi (K1 rejected, K2 follow-up, K3 rejected with evidence) at this head; all checks green incl. CodeQL (gh pr checks: no fail, no pending). Setting review-ok. |
|
Root auto-queue: head f6b9051 unchanged since review-ok, all checks green. @Mergifyio queue |
Merge Queue Status
This pull request spent 12 minutes 41 seconds in the queue, including 12 minutes 18 seconds running CI. Required conditions to merge
|
Die Linux-Prüfungen laufen auf zwei Bahnen, und die HQ-Tests erhalten dort das benötigte Gitleaks.
Der vollständige CI-Lauf ist grün und belegt alle 40 bisherigen Linux-Gates genau einmal.
Die unabhängige Nachprüfung steht noch aus; die gemessenen Windows-Zeiten zeigen keine Beschleunigung des gesamten Ablaufs.
Report
Change and scope
linux_1runs 32 Rust, script and HQ gates with the existing full Linux bootstrap;linux_2runs 8 frontend and browser gates with Node and Chromium. The complete locallinuxlane remains available.gates (linux)aggregates both legs and fails closed for failed, cancelled, skipped or missing results. Combinedjunit-linuxartifacts, red-first routing and main-red coverage remain intact.windows_nativeruns the existing native tests separately from the unchanged nextest partitions. Product code, native test implementation and Mergify settings are unchanged.hq-testtolinux_1and adds a regression test requiring its Gitleaks bootstrap before the gate invocation. No new dependencies or tool installations were added by this fix.4372a78dcdff0f190a968397bc73e5f55ecf39db; reviewed head:6d7886c89b59404a6411943dcd38ca4d1e83bce4; candidate:f6b9051e92b1dd5e95ba0c6c501dd782b749eea4.af9fe040(red regression) andf6b9051e(fix).Evidence — 2026-10-15
node --test scripts/ci/linux-split.test.mjsbefore fix, on reviewed implementationlinux_2lacked setup-linux; both existing tests passedbash scripts/test-gates.shbash scripts/ci/ci-shape.shbash scripts/ci/red-first.shat candidatebash scripts/ci/secret-scan.shbefore each R1 commitgit diff --checkbash scripts/ci/gates.sh lane prepushat candidate, unpipedgit push -u origin codex/ci-split-linuxgit ls-remote origin codex/ci-split-linuxgh workflow run ci.yml --ref codex/ci-split-linuxgh run watch 38757771098 --exit-status --interval 30gh run view 38757771098 --json headSha,status,conclusion,jobs,url,event,createdAt,updatedAtgh run view 38757771098 --logThe regression was committed before the fix. Its exact trailer is
Test-First: scripts/ci/linux-split.test.mjs::HQ tests run on a Linux leg with Gitleaks installed before gates.Runtime gate coverage — R1560-B1
Successful run 38757771098, linux_1 job, linux_2 job.
Method: extract
>>> Gate <id>:starts and<<< Gate <id>: gruen (<seconds>s)completions from the Gates steps of those two jobs. Compare both multisets against the 40 gate IDs whose lane list containslinuxingit show 4372a78d:scripts/ci/gates.sh; require exactly one matching start and green completion per ID on the same leg. The assertion script exited 0: 40/40, no missing, duplicate or extra gates;linux_132/32,linux_28/8. Gate durations below come from the actual logs, not the static lane list.no-maskedlinux_1wf-shelllinux_1wf-pinnedlinux_1crlflinux_1eollinux_1shellchecklinux_1actionlintlinux_1selftest-shell-lintlinux_1ci-shapelinux_1pr-secretslinux_1release-shapelinux_1dev-build-shapelinux_1selftest-gateslinux_1selftest-red-firstlinux_1selftest-reviewlinux_1selftest-lane-planlinux_1selftest-main-redlinux_1script-modeslinux_1selftest-script-modeslinux_1hotspot-guardlinux_1selftest-hotspot-guardlinux_1selftest-win-signallinux_1crlf-source-comparelinux_1architecture-driftlinux_1ipc-nameslinux_1ratchetlinux_1ignore-reasonslinux_1fmtlinux_1hq-testlinux_1licenseslinux_1clippylinux_1rust-suitelinux_1diagrams-exportlinux_2typechecklinux_2lintlinux_2fe-testlinux_2denkraumlinux_2hq-visuallinux_2fe-buildlinux_2e2elinux_2Measurement — R1560-C1
Sources:
gh run view 38747628198 --json headSha,status,conclusion,jobs,url,event,createdAt,updatedAtand the candidate command above, both exit 0. Durations are jobcompletedAt - startedAt; parenthesized numbers are the Gates step duration. Baseline 38747628198 is a successful pre-split pull-request run ate89a5325973d0eb6f67449e4032be85339354ad0; candidate is a successful manual run at the stated head.In this sample the longest Linux execution leg is shorter, but the longest Windows leg is slower and the summed Windows execution-job time rises from 872 s to 1,450 s. No overall speedup is established. These runs differ in commit, event, runner and cache conditions; they are not controlled repeated measurements. The earlier failed run 38751545520 is superseded for coverage by this complete successful run.
Review disposition
Round-one source: Anthropic review of
6d7886c8, verdict REQUEST CHANGES. This worker implemented the requested fixes and did not perform the independent delta review.f6b9051emoves HQ tests to the existing Gitleaks-equipped leg; regression inaf9fe040failed before the fix. Run 38757771098 confirmshq-testsuccess.Review: ausstehend (Stufe B). Root owns non-OpenAI delta review, acceptance, readiness and Mergify integration. This worker sets no review-ok label and does not enqueue or merge the PR. The existing draft is retained for that handover.
NICHT ABGEDECKT
#[cfg(windows)]tests or Windows-only clippy branches. The manual workflow passed all three Windows execution legs; the merge queue must still validate the integrated candidate on Windows.Handover
FIX-PR1560-R1 is implemented, locally tested, pushed and evidenced in the manual workflow. Native worker goal was created and checked through the harness; its bounded acceptance is this checked handover. Independent review, Root acceptance and merge remain separate and pending. Start evidence lacked the optional usage file and the project-memory mirror; no provider-limit or exact-model observation is claimed.