fix(ci): repeat feature-gated Rust tests in their CI feature graph and fail on unlisted selections

The Rust and Desktop Tauri repeats listed only each package's default
feature graph and treated an entry nextest did not list as excluded, so a
selected `#[cfg(feature = …)]` test (buzz-feature-flags' LaunchDarkly,
buzz-push-gateway's App Attest development feature, the desktop crate's
mesh-llm) passed as "nothing to repeat" or was silently dropped from a
mixed selection.

Each package is now listed in the feature graphs the regular lanes test
it in, in order, and each entry repeats in the first graph that lists
it, so the mesh-llm graph is built only for tests the default graph
lacks. Ignored and infrastructure-backed tests are classified from the
whole listing (nextest reports an ignored test as a filter mismatch
whatever -E says), and an entry no graph lists fails the lane by name.
A fake-cargo regression drives the script's entry point through each
case, and the graph table is pinned to the Justfile recipes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Matt Toohey <contact@matttoohey.com>
This commit is contained in:
Matt Toohey
2026-10-28 22:24:57 +11:00
parent 29858b2aff
commit 280cc23854
4 changed files with 436 additions and 91 deletions

View File

@@ -157,7 +157,10 @@ jobs:
- name: Create sidecar stubs
run: just _ensure-sidecar-stubs
# Same script as flake-rust, against the Tauri workspace's manifest and
# its own .config/nextest.toml `flake` profile.
# its own .config/nextest.toml `flake` profile. A selected test the
# default graph does not list is looked for under mesh-llm, whose
# dependency graph the restored desktop-core cache does not hold, so
# only such a selection builds it cold.
- name: Repeat changed desktop Tauri tests
env:
CMAKE_POLICY_VERSION_MINIMUM: "3.5"