From 1d1d708306863c32e812e80962ce2f08f0f3b144 Mon Sep 17 00:00:00 2001 From: OceanLi <122793010+ohdearquant@users.noreply.github.com> Date: Mon, 3 Aug 2026 13:16:53 -0400 Subject: [PATCH] fix(ci): move comments out of the shard package-list scalars `packages:` in the test matrix is a folded scalar (`>-`), so every line in it becomes part of one long single-line string, `#` included. That string is substituted into the `run:` script by `${{ matrix.packages }}` before bash parses it, and bash then reads the `#` as the start of a comment and discards everything after it on that line. For `core-and-rest` the comment sits on the second line of the block, so cargo nextest run --no-fail-fast --workspace --exclude photonlayer-core ... (99 more) is executed as cargo nextest run --no-fail-fast --workspace All 99 exclusions are dropped and the "catch-all" shard silently runs the entire workspace, including every crate the other shards exist to hoist out of it. That is the shard that has been hitting `timeout-minutes: 240`. `core-and-rest-wasm` has the same construct but its comment is the last line of the block, so only the comment itself is lost today; it is one reordering away from truncating the package list. Both comment blocks move above the `packages:` key, where YAML treats them as comments. No package list changes. Checked by loading the workflow and pasting each shard's resolved value into a shell script the way the runner does: `core-and-rest` goes from 4 arguments to 202, `core-and-rest-wasm` is unchanged at 59, and no `packages` value contains `#` any more. --- .github/workflows/ci.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77b42c2c3e..9aa70dcb2f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -178,6 +178,15 @@ jobs: # iter-231 all cancelled at the timeout boundary). The wasm # crates are a natural sub-group: thin bindings on top of host # crates, easy to compile + test in isolation. + # Iter 233 — `ruvllm-wasm` excluded from native nextest: + # 11 of its 195 tests (sona_instant + workers::feature_detect) + # fail or SIGABRT on native because they're wasm-target + # specific (need wasm-bindgen-test). Surfaced by iter-232's + # split; previously masked by the iter-228..231 timeout + # cancellations of the megaShard. Tracking as workspace + # follow-up — fix is to gate the affected modules behind + # `#[cfg(target_arch = "wasm32")]` or migrate to + # wasm-bindgen-test runners. packages: >- -p neural-trader-wasm -p ruvector-acorn-wasm @@ -207,15 +216,6 @@ jobs: -p ruvector-tiny-dancer-wasm -p ruvector-verified-wasm -p ruvector-wasm - # Iter 233 — `ruvllm-wasm` excluded from native nextest: - # 11 of its 195 tests (sona_instant + workers::feature_detect) - # fail or SIGABRT on native because they're wasm-target - # specific (need wasm-bindgen-test). Surfaced by iter-232's - # split; previously masked by the iter-228..231 timeout - # cancellations of the megaShard. Tracking as workspace - # follow-up — fix is to gate the affected modules behind - # `#[cfg(target_arch = "wasm32")]` or migrate to - # wasm-bindgen-test runners. - name: research-nightly # Nightly research PoC crates (iter 240+). Kept in a separate shard # so their compile + test time doesn't inflate core-and-rest. @@ -239,9 +239,9 @@ jobs: # Everything else: core, delta, server/cluster, etc. # Uses --workspace + --exclude to subtract the groups above so we # don't have to enumerate ~100 crates by hand. + # Nightly research crates run in the research-nightly shard (iter 240+) packages: >- --workspace - # Nightly research crates run in the research-nightly shard (iter 240+) --exclude photonlayer-core --exclude photonlayer-bench --exclude photonlayer-cli