name: Mutation tests (incremental, for PRs)
on:
pull_request:
branches:
- main
paths:
- ".cargo/**"
- ".github/workflows/mutants.yml"
- "Cargo.*"
- "src/**"
permissions: {}
jobs:
cargo-mutants:
name: cargo-mutants
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd with:
fetch-depth: 0
persist-credentials: false
- name: Relative diff
run: |
git branch -av
git diff origin/${GITHUB_BASE_REF}.. | tee git.diff
- name: Install rust
uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9
with:
toolchain: stable
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4
- name: Install cargo-mutants
uses: taiki-e/install-action@a37010ded18ff788be4440302bd6830b1ae50d8b
with:
tool: cargo-mutants
- name: Run mutant tests
run: cargo mutants -vV --no-shuffle --in-place --in-diff git.diff
- name: Archive mutants.out
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
if: always()
with:
name: mutants-incremental.out
path: mutants.out