Skip to content

ci: run Stryker on Windows against all TFMs (#72)#174

Closed
Chris-Wolfgang wants to merge 1 commit into
vNextfrom
feature/stryker-windows-allTFM-72
Closed

ci: run Stryker on Windows against all TFMs (#72)#174
Chris-Wolfgang wants to merge 1 commit into
vNextfrom
feature/stryker-windows-allTFM-72

Conversation

@Chris-Wolfgang

Copy link
Copy Markdown
Owner

Summary

Adopts the canonical repo-template Stryker workflow, resolving the one genuine repo-side template drift found while investigating #72.

Before: stryker.yaml ran on ubuntu-latest with a limited SDK set — Linux can't build net462/net481, so Stryker silently mutation-tested only the non-Framework TFMs and missed Framework-only bugs.

After (canonical template version):

  • runs-on: windows-latest so Stryker can compile every TFM the repo targets, including .NET Framework 4.6.2–4.8.1.
  • Full SDK matrix installed: 3.1.x10.0.x.
  • Test-project discovery via tests/**/*Test*.csproj (matches both Wolfgang.Etl.TestKit.Tests.Unit and Wolfgang.Etl.TestKit.Xunit.Tests.Unit); supports a root or per-project stryker-config.json (neither present today → per-project defaults).
  • Triggers unchanged in spirit: workflow_dispatch + weekly Sunday 06:00 UTC schedule (mutation testing is slow; not a per-PR gate).
  • Uploads the Stryker report as an artifact.

This brings stryker.yaml to byte-parity with the template (zero future drift on this file). The template's if: github.repository != 'Chris-Wolfgang/repo-template' self-skip guard is harmless here (always true downstream) and is kept to preserve parity.

Notes

Closes #72

🤖 Generated with Claude Code

#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>
@Chris-Wolfgang Chris-Wolfgang changed the base branch from vNext to main June 24, 2026 00:33
@Chris-Wolfgang Chris-Wolfgang changed the base branch from main to vNext June 24, 2026 00:33
@Chris-Wolfgang

Copy link
Copy Markdown
Owner Author

Superseded by #175, which targets main directly (one-file protected-file PR for stryker.yaml) so the required admin-bypass is scoped to just this workflow file. After #175 merges to main, it flows into vNext via the next main → vNext sync.

@Chris-Wolfgang Chris-Wolfgang deleted the feature/stryker-windows-allTFM-72 branch June 24, 2026 00:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant