fix(ci): core-and-rest dropped all 99 excludes to a shell comment - #797
Open
ruvnet wants to merge 1 commit into
Open
fix(ci): core-and-rest dropped all 99 excludes to a shell comment#797ruvnet wants to merge 1 commit into
ruvnet wants to merge 1 commit into
Conversation
The packages value is a YAML folded scalar. YAML does not treat '#' as a comment inside '>-', so the note added in 578400d (2026-06-21) survived as literal text and was substituted into run: cargo nextest run --no-fail-fast ${{ matrix.packages }} where bash does treat ' #' as starting a comment. Every flag after it was discarded. The shard has been running a bare cargo nextest run --no-fail-fast --workspace for six weeks: the entire workspace, including all the heavy research crates the sharding exists to subtract, plus examples/. Measured, three runs, identical signature: main job 91974446705 11:36:32Z last Compiling, 3h45m47s silence PR #791 attempt 1 12:19:03Z last Compiling, 3h45m40s silence PR #791 attempt 3 16:21:37Z last Compiling, 3h45m20s silence All three cancelled at the 4h timeout-minutes cap with one rustc still alive, and zero tests executed -- no "Starting N tests" and no "Summary [" line in any of the three logs. It presented as a slow-test timeout, which is why the cap was raised 150 -> 180 -> 240 minutes over iters 231-232 without ever fixing it. Comments move above the packages key, where YAML treats them as comments. core-and-rest-wasm had the same pattern; its comment trailed all the -p flags so nothing was dropped, but it is fixed too. Verified: all 99 excludes now reach cargo (0 before). Two of the 99 names, ruvector-postgres and timesfm-wasm, are not workspace members -- cargo emits a warning rather than an error for those, confirmed by experiment, and ruvector-postgres is deliberately in the root Cargo.toml workspace exclude. Adds .github/scripts/lint_test_matrix.py as a guard: the failure is silent, so a convention will not hold it. Tested both ways -- passes on this tree, and on the pre-fix workflow reports core-and-rest 99 intended / 0 surviving. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01WfyBMvexdN4bhWVaqSXKvR
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What was wrong
packages:in the test matrix is a YAML folded scalar (>-). YAML does not treat#as a comment inside a block scalar, so the note added in 578400d (2026-06-21) survived as literal text and was substituted intowhere bash does treat
#as starting a comment. Everything after it was discarded.For six weeks the
core-and-restshard has actually been running:— the entire workspace, including every heavy research crate the sharding exists to subtract, plus
examples/.Evidence
Three runs, identical signature, zero tests executed in any of them:
CompilingStarting N testsSummary [rustcrustcrustcAll three were cancelled at the 4h
timeout-minutescap. Because it presented as a slow-test timeout, the cap was raised 150 → 180 → 240 minutes across iters 231–232 without the cause ever being found. It fails the same way onmainas on any PR branch, so it was not attributable to any one change.The fix
Comments move above the
packages:key where YAML treats them as comments.core-and-rest-wasmhad the same pattern — its comment trailed all the-pflags so nothing was dropped, but it is fixed too.Verified by parsing the workflow: 99 of 99 excludes now reach cargo, versus 0 before.
Two of the 99 names —
ruvector-postgresandtimesfm-wasm— are not workspace members. Cargo emits a warning rather than an error for an unknown--exclude(confirmed by experiment), andruvector-postgresis deliberately in the rootCargo.tomlworkspaceexcludelist, so both are inert.Guard
The failure is silent — the job runs, it just runs the wrong command — so a convention will not hold it.
.github/scripts/lint_test_matrix.pyfails CI if any matrixpackagesscalar contains a#, and reports how many flags would be dropped.Tested both directions:
ok: 9 matrix shards, no '#' in any packages scalarcore-and-rest: flags intended: 99, flags reaching cargo: 0 -> 99 flag(s) SILENTLY DROPPEDVerification
This PR's own
Tests (core-and-rest)run is the measurement. It should now compile a subtracted workspace and actually reach the test phase — the first time that shard has run its intended command since 2026-06-21.🤖 Generated with claude-flow
https://claude.ai/code/session_01WfyBMvexdN4bhWVaqSXKvR