Skip to content

Merge commit '60a0ae2e4960685fa903af5434338067c28b6ff4' into land/pac… #40

Merge commit '60a0ae2e4960685fa903af5434338067c28b6ff4' into land/pac…

Merge commit '60a0ae2e4960685fa903af5434338067c28b6ff4' into land/pac… #40

name: Master mutation catalogue
on:
push:
branches: [master]
concurrency:
group: mutations-master-${{ github.ref }}
cancel-in-progress: true
jobs:
replay:
strategy:
fail-fast: false
matrix:
runner: [ubuntu-24.04, windows-2025]
runs-on: ${{ matrix.runner }}
env:
CARGO_TERM_COLOR: always
CARGO_PROFILE_DEV_DEBUG: "0"
CARGO_PROFILE_TEST_DEBUG: "0"
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Install cargo-nextest
shell: bash
run: |
if [ "$RUNNER_OS" = "Windows" ]; then
curl.exe --fail --location --silent --show-error --ssl-revoke-best-effort --retry 3 --output nextest.tar.gz https://get.nexte.st/latest/windows-tar
tar zxf nextest.tar.gz -C "$HOME/.cargo/bin"
rm nextest.tar.gz
else
curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C "${CARGO_HOME:-$HOME/.cargo}/bin"
fi
cargo nextest --version
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install mutation checker dependency
run: python -m pip install PyYAML==6.0.3
- name: Install pinned mutation runner
shell: bash
run: |
cargo install --locked --git https://github.com/cortexkit/commons --rev a2db1cfd9149424257bbed675c55434d0915138e cortexkit-mutate
ckdev-mutate --version
# A full master replay catches regressions in helpers and fixtures that
# are neither an edit target nor the test_file selected by --diff.
- name: Replay full catalogue
shell: bash
run: |
ckdev-mutate check
mkdir -p target/mutations
ckdev-mutate run --all --report target/mutations/master.json
- name: Retain replay evidence
if: always()
uses: actions/upload-artifact@v4
with:
name: mutations-master-${{ matrix.runner }}-${{ github.run_id }}
path: target/mutations/master.json
if-no-files-found: error