We introduce a CI job for mutation testing of PR diffs using cargo-mutants.
Missed cases do not trigger a fail of this job yet as we just introduce it
now for visibility. We may start enforcing stricter rules at a later stage.
rustup component add rustfmt
- name: Run rustfmt checks
run: ci/rustfmt.sh
+
+ incremental-mutants:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - name: Relative diff
+ run: |
+ git branch -av
+ git diff origin/main.. | tee git.diff
+ - uses: Swatinem/rust-cache@v2
+ - name: Mutants
+ run: |
+ cargo install cargo-mutants
+ cargo mutants --no-shuffle -j 2 -vV --in-diff git.diff