ci: run Stryker on Windows against all TFMs (#72)#174
Closed
Chris-Wolfgang wants to merge 1 commit into
Closed
Conversation
#72) Replace the ubuntu-latest Stryker job (which could only build the non-Framework TFMs) with the canonical repo-template version: runs on windows-latest with the full .NET SDK matrix (3.1-10.0) so Stryker can compile and mutation-test every TFM the repo targets, including .NET Framework 4.6.2-4.8.1. Resolves the one genuine repo-side template drift identified in #72. Closes #72 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Owner
Author
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adopts the canonical
repo-templateStryker workflow, resolving the one genuine repo-side template drift found while investigating #72.Before:
stryker.yamlran onubuntu-latestwith a limited SDK set — Linux can't buildnet462/net481, so Stryker silently mutation-tested only the non-Framework TFMs and missed Framework-only bugs.After (canonical template version):
runs-on: windows-latestso Stryker can compile every TFM the repo targets, including .NET Framework 4.6.2–4.8.1.3.1.x→10.0.x.tests/**/*Test*.csproj(matches bothWolfgang.Etl.TestKit.Tests.UnitandWolfgang.Etl.TestKit.Xunit.Tests.Unit); supports a root or per-projectstryker-config.json(neither present today → per-project defaults).workflow_dispatch+ weekly Sunday 06:00 UTC schedule (mutation testing is slow; not a per-PR gate).This brings
stryker.yamlto byte-parity with the template (zero future drift on this file). The template'sif: github.repository != 'Chris-Wolfgang/repo-template'self-skip guard is harmless here (always true downstream) and is kept to preserve parity.Notes
.github/workflows/file, so it trips the Detect .NET Projects protected-file guard — needs a maintainer admin-merge.vNext(consistent with ci: add BenchmarkDotNet → gh-pages chart workflow (#81) #168).Closes #72will fire whenvNextreachesmain.Closes #72
🤖 Generated with Claude Code