Repository navigation
Nightly mutation breadth audit #3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Nightly mutation breadth audit | |
| # Broad replay changes source in place and runs all package targets. A separate | |
| # scheduled checkout keeps that expensive audit out of the train's critical path. | |
| on: | |
| schedule: | |
| - cron: "0 8 * * *" | |
| concurrency: | |
| group: mutations-audit-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| audit: | |
| 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 | |
| - name: Audit all package test targets | |
| shell: bash | |
| run: | | |
| mkdir -p target/mutations | |
| python scripts/prepare-mutation-audit.py mutations.d target/mutations/broad.toml | |
| ckdev-mutate --catalogue target/mutations/broad.toml check | |
| ckdev-mutate --catalogue target/mutations/broad.toml run --all --broad --report target/mutations/nightly.json | |
| - name: Retain breadth evidence | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: mutations-nightly-${{ matrix.runner }}-${{ github.run_id }} | |
| path: target/mutations/nightly.json | |
| if-no-files-found: error |