Mutation Testing #2
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: Mutation Testing | |
| # Mutation testing is slow and CPU-heavy, so it never gates PRs — weekly + on demand only. | |
| on: | |
| schedule: | |
| - cron: '0 7 * * 1' # Monday 07:00 UTC, offset from the other Monday jobs | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| stryker: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 | |
| with: | |
| dotnet-version: | | |
| 8.0.x | |
| 10.0.x | |
| - name: Restore tools | |
| run: dotnet tool restore | |
| - name: Restore dependencies | |
| run: dotnet restore | |
| - name: Run Stryker | |
| working-directory: GoogleMapsApi.Test | |
| env: | |
| VCR_MODE: replay # offline: cassette replay, no Google quota | |
| run: dotnet stryker | |
| - name: Publish report to job summary | |
| if: always() | |
| shell: bash | |
| run: | | |
| report=$(find GoogleMapsApi.Test/StrykerOutput -name 'mutation-report.md' | head -n1) | |
| if [ -n "$report" ]; then | |
| cat "$report" >> "$GITHUB_STEP_SUMMARY" | |
| else | |
| echo "No Stryker markdown report produced." >> "$GITHUB_STEP_SUMMARY" | |
| fi | |
| - name: Upload HTML report | |
| if: always() | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: mutation-report | |
| path: GoogleMapsApi.Test/StrykerOutput/**/reports/mutation-report.html | |
| if-no-files-found: warn |