Introduce basic incremental mutation testing

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.
This commit is contained in:
Duncan Dean 2023-11-30 13:31:24 +02:00
parent 3ccf064160
commit c42699d1af
No known key found for this signature in database

View file

@ -247,3 +247,19 @@ jobs:
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