From c42699d1af7d3b4ef15743dfb6bc5bec878fc2eb Mon Sep 17 00:00:00 2001 From: Duncan Dean Date: Thu, 30 Nov 2023 13:31:24 +0200 Subject: [PATCH] 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. --- .github/workflows/build.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1a7c7f85c..90ecd4431 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -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 -- 2.30.2