Files
ironclaw/scripts
Illia Polosukhin a22631b252 ci(gate): run the pre-push test suite with nextest when available (#7169)
* ci(gate): run the pre-push test suite with nextest when it is available

`cargo test` runs each test binary strictly sequentially — it parallelises
within a binary but never across them. This workspace builds well over 400
test binaries and the large majority finish in under a second, so the
pre-push gate spends most of its wall clock starting and tearing down
processes one at a time rather than doing work. `cargo nextest` runs them
in a single parallel pool.

Coverage is unchanged. `--all-targets` expands to
`--lib --bins --tests --benches --examples`, so it has never included
doctests, and nextest does not run them either. This changes scheduling
only, not what executes — worth stating explicitly because swapping a
test runner is exactly the kind of change that silently drops a target
class.

nextest stays optional. `tests/fixtures/llm_traces/README.md` documents
that local development must keep working without it, so an absent binary
falls back to `cargo test` instead of failing. `.config/nextest.toml`
already carries the repository's profiles and per-test slow-timeouts —
CI's insta gate uses them — so the parallel path inherits the timeout
policy that is already tuned here rather than inventing one.

`IRONCLAW_GATE_TEST_RUNNER` selects explicitly: `auto` (default),
`nextest` (require it), or `cargo` (force sequential, for bisecting a
suspected parallelism-order failure).

Scope: `scripts/ci/quality_gate.sh` has exactly one caller, the pre-push
hook. No CI workflow invokes it, so this cannot change what CI runs.

Adds `scripts/ci/test-quality-gate-runner.sh`, which stubs every cargo
invocation and asserts each branch. It replaces PATH rather than
prepending, because a developer's real ~/.cargo/bin/cargo-nextest would
otherwise satisfy the absence case and test the wrong branch. Verified to
fail when the fallback is removed.

* fix(ci): address reviewer feedback — enforce runner tests (#7169)

* test(ci): address coderabbitai review — cover runner matrix (#7169)

---------

Co-authored-by: serrrfirat <f@nuff.tech>
2026-08-05 10:07:32 +00:00
..