mirror of
https://github.com/nearai/ironclaw.git
synced 2026-09-03 08:06:01 +08:00
* ci: speed up feedback loop — concurrency, dynamic matrix, path skip, faster staging - Add cancel-in-progress concurrency groups to 6 workflows (test, code_style, e2e, regression-test-check, pr-label-classify, pr-label-scope) so pushes to the same branch cancel stale CI runs instead of queuing behind them. - Collapse test/clippy matrix on PRs from 3 configs to 1 (all-features). Full 3-config matrix still runs on staging promotion and push-to-main. Cuts PR compilation from ~3x to ~1x. - Reduce staging-ci poll interval from 60 minutes to 10 minutes, cutting worst-case promotion latency by 6x. - Add path-based skip to test.yml and code_style.yml: a lightweight changes-detection job checks if any code files changed (src/, crates/, Cargo.*, etc.). Docs-only PRs skip all Rust compilation while the rollup job still passes for branch protection. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * test: collapse nested ifs in trace_contains_tool_call match arms Clippy 1.95 added/tightened `clippy::collapsible_match`. The two nested `if`s in this helper are equivalent to additional match-arm guards, which is what the lint suggests. No behavior change. Inherited from #2268's merge into staging; would have failed `Clippy (all-features)` on every PR until fixed. * test: rustfmt struct destructure in collapsed match arm * ci: drop --benches from clippy invocations `--benches` pulls in `criterion` (heavy dep) but only covers 2 bench files in `crates/ironclaw_safety/`. Lints rarely differ in bench code, and `bench-compile` in test.yml already provides the type-check signal. Cold-cache impact: ~30s+ saved per Linux/Windows leg (criterion + plotters + ciborium chain). Warm-cache: marginal but non-zero. --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: ilblackdragon@gmail.com <ilblackdragon@gmail.com>