Repository navigation
ci: delete fake mutation testing and dead CI config; resolve the V2-210 ignored tests - #182
Conversation
cargo-mutants 27 rejects `--test-timeout`, so the tool exited within a second on every run. `|| echo` swallowed the error and the report step wrote a hard-coded "Completed successfully" summary: 58 of the last 60 runs were green in ~90 s without generating a single mutant. mutation-testing.toml goes too: cargo-mutants reads .cargo/mutants.toml, so nothing ever read it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- wasm.yml and rust.yml's portable-core-wasm ran the same `cargo check --lib --no-default-features --target wasm32` that the MSRV job already runs with --locked. Keep only the MSRV one. - rust.yml's build matrix ran plain `cargo build` on 3 OSes; the nextest jobs in unit-tests.yml already build the crate on all three. - rust.yml's minimal-versions job was `if: false`, citing a Rust 1.88 limit that no longer applies (MSRV is 1.95). - nextest.toml was never read: nextest only loads .config/nextest.toml, so CI never applied its retries, timeouts or per-binary overrides (which named test binaries that no longer exist and used keys nextest does not have). Deleting it does not change CI behaviour. - Drop the stale sp1 comments; sp1 and its feature are long gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Clippy ran without --all-targets, so tests, integration tests and examples were never linted. .clippy.toml already allows unwrap/expect in tests; the only finding was an orphaned doc comment in network.rs's test module (empty_line_after_doc_comments). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
All four were ignored against V2-210, which was cancelled in July, so nothing tracked them. pinned_address_survives_connection_drop passes again (20/20 runs of its target on main 16b395c), so it runs in CI from now on. The three masque_relay_e2e tests cannot pass on one host by design. Relay candidates exclude same-machine and local-scope peers (first_direct_dialable_for_relay), and since the canary gate witnesses reject local-scope relay addresses and publication needs three non-close witnesses. They fail with "no direct-addressable candidates in routing table". The acquisition walk, canary validation and driver state keep their unit tests; saorsa-transport keeps its MASQUE integration tests. Closes V2-1762 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaidSafe-Hermes
left a comment
There was a problem hiding this comment.
No blocking defects found at 371afab1a86c4d9d01122213093215d2116f58ab. Current PR checks are green (9/9), including lint, Linux/macOS/Windows tests, MSRV/WASM and security audit. The restored pinned-address integration test is included in the passing current test runs.
Review coverage: 2/2 seats reviewed (sol-1 gpt-6.1-sol xhigh; glm-1 z-ai/glm-5.3). The seats did not fully agree. glm-1 raised a concern that deleting root nextest.toml removes active retry/timeout settings; the PR explains that this file was not loaded by Nextest, and the workflow does not explicitly load it. glm-1 also questioned test linting; .clippy.toml allows unwrap/expect in tests and the current lint check passes.
Non-blocking follow-up: removing the separate three-OS cargo build matrix reduces explicit validation of the normal build profile, although the unit/integration test targets still build on all three operating systems. No binaries or examples are present in the tree. The deleted MASQUE E2E tests were already ignored and the PR documents why they cannot pass in the local topology; relay integration coverage remains in saorsa-transport.
Linear issue
Closes V2-1762
Summary
This PR covers items 1, 2 and 5 of V2-1745 (the saorsa-core faux-CI audit). Items 3 and 4 (no CI on main, release not gated) wait on the org decision in V2-1746. The root debris files from item 5 are removed by #181. Review it commit by commit:
ci: delete the Mutation Testing workflow that never ran a mutant--test-timeout, so the tool exited within a second on every PR.|| echohid that error, and the report step then wrote a hard-coded "✅ … Completed successfully" summary.mutation-testing.tomlgoes too: cargo-mutants reads.cargo/mutants.toml, so nothing ever read this file.ci: drop duplicate and dead CI jobs and configwasm.ymland rust.yml'sportable-core-wasmran the samecargo check --lib --no-default-features --target wasm32-unknown-unknownthat the MSRV job already runs with--locked. Only the MSRV copy is kept, so the wasm check required downstream stays.buildmatrix ran plaincargo buildon 3 OSes. The nextest jobs in unit-tests.yml already build the crate on all three.minimal-versionsjob wasif: false, and its comment cites a Rust 1.88 limit that no longer applies (MSRV is 1.95). If it's ever re-added as a new job,-Z direct-minimal-versionsis the variant worth running.nextest.tomlwas never read. Nextest only loads.config/nextest.toml: with a profile added to the root file,--profile <it>fails with "profile not found". So CI never applied the file'sretries = 1, its timeouts or its per-binary overrides. Those overrides named test binaries that no longer exist and used keys nextest doesn't have. Deleting the file doesn't change CI behaviour.ci: lint test targets with clippy--all-targets, so tests and integration tests are linted too..clippy.tomlalready allows unwrap/expect in tests.network.rs's test module.test: run the pinned-address test, delete the loopback MASQUE e2e tests#[ignore]d against V2-210, which was cancelled in July, so nothing tracked them.pinned_address_survives_connection_droppasses again, so it runs in CI from now on.masque_relay_e2etests can't pass on one host, by design. Same-machine and local-scope peers are never relay candidates (first_direct_dialable_for_relay). Since the canary gate (feat(reachability): gate relay publication with canary quorum #136), witnesses also reject local-scope relay addresses, and publishing needs three non-close witnesses. On main they fail withno direct-addressable candidates in routing table.Runner cost: each PR runs 6 fewer jobs: Mutation Testing (which also built cargo-mutants from source), WASM portability, Portable core WASM, and Build on ubuntu, windows and macOS. That's one fewer macOS job and one fewer Windows job on every PR.
Kept: the ignored doctests (8, unchanged) and
claude.yml'sif:. Thatif:doesn't checkauthor_association, which is harmless because the action already requires write access.Not touched: the "ADR Governance" entry in this repo's Actions list. It isn't an orphan: it comes from #127, David's still-open ADR lint PR, which ran it on its own branch. It runs nowhere else.
Risk tier
Compatibility
src/change removes a doc comment inside a#[cfg(test)]module.Semver impact
Test evidence
Every run step of the changed lint.yml, rust.yml and unit-tests.yml was run on dev2 (Ubuntu 24.04), on main 16b395c plus this diff. The tested tree is byte-identical to this branch.
cargo +stable fmt --all -- --checkcargo +stable clippy --all-features --all-targets -- -D warnings -D clippy::unwrap_used -D clippy::expect_usedcargo +1.95 check --locked --lib --all-features(MSRV read from Cargo.toml)cargo +1.95 check --locked --lib --no-default-features --target wasm32-unknown-unknowncargo nextest run --lib --profile defaultcargo nextest run --test '*' --profile default×5cargo test --docIgnored tests on main 16b395c, run with
--run-ignored only:pinned_address_survives_connection_droppassed 20/20 runs of its whole target.masque_relay_e2e.rs:134("relay address should be acquired before timeout"). Driver log:acquisition failed … reason="no direct-addressable candidates in routing table".New dependency
none
ADR
n/a
Mitigation / rollback
Revert the PR. Each commit is self-contained, so any one can be reverted alone.
🤖 Generated with Claude Code