Repository navigation
chore(stryker): remove duplicate roslyn5_6 config and fix stale docs - #232
Merged
Merged
Conversation
stryker-config.roslyn5_6.json was identical to stryker-config.json apart from the dashboard module name; CI only ever runs stryker-config.json. Remove it and re-sync the Analyzer.slnx solution items (which also omitted stryker-config.json). CLAUDE.md contradicted the test projects: they target $(_TestTargetFrameworks) (net6.0..net10.0, plus classic TFMs on Windows) and net8.0 maps to Roslyn4_7, net9.0 to 4_14, net10.0 to 5_6, everything else to 4_4. All four variants are therefore test-covered. Document that CI mutates only the 5_6 variant via stryker-config.json.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #232 +/- ##
=======================================
Coverage 94.72% 94.72%
=======================================
Files 48 48
Lines 2557 2557
Branches 449 449
=======================================
Hits 2422 2422
Misses 58 58
Partials 77 77 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
Problem
The repo carries four Stryker configs but CI (
.github/workflows/mutation.yml, Mon/Thu cron andworkflow_dispatch) only ever runsstryker-config.json.stryker-config.roslyn5_6.jsondiffers fromstryker-config.jsononly inproject-info.module(NetEvolve.Analyzer.Roslyn5_6vsNetEvolve.Analyzer). CI reports the dashboard moduleNetEvolve.Analyzer, so the file is unused.Analyzer.slnxlists three of the configs and omitsstryker-config.json.CLAUDE.mdsays the test projects targetnet8.0;net9.0;net10.0, mapsnet8.0toRoslyn4_4, claims three mutation configs and saysRoslyn4_7is build-verified only. The test csprojs actually use$(_TestTargetFrameworks)(net6.0;net7.0;net8.0;net9.0;net10.0, plusnet472;net48;net481on Windows) and mapnet8.0to 4_7,net9.0to 4_14,net10.0to 5_6 and every other TFM to 4_4.Root cause
Config files and docs were not updated when the test csproj mapping changed. The reusable mutation workflow takes one config per run and no matrix was ever wired.
Change
stryker-config.roslyn5_6.json; keepstryker-config.json(unsuffixed module name) as the 5_6 config.Analyzer.slnxsolution items (drop 5_6, addstryker-config.json).CLAUDE.md: test TFMs, TFM-to-variant mapping (all four variants are test-covered), and the mutation paragraph (CI mutates onlystryker-config.json= Roslyn5_6; 4_4 and 4_14 configs are manual-only; no 4_7 config).Not included: a CI matrix over variants or a new 4_7 config. The mutated source is identical across variants, so a matrix mostly multiplies runtime; that needs a separate decision.
Before / After
Risk / what this does not change
Docs and config hygiene only. The mutation score and the CI behaviour should not change, so the branch run is only a sanity check: run 40815471770 succeeded with identical numbers (docs/config change, no measurable effect expected). The only loss is any old manually reported
NetEvolve.Analyzer.Roslyn5_6dashboard history.