Repository navigation
ci: enable stryker break threshold - #297
Merged
Merged
Conversation
thresholds.break was 0, which disables the gate: a mutation run with a 31.98 % score (below low=60) still concluded successfully. Set break to 25 so a drop below the currently measured score (31.98 % and 32.02 % on two identical runs) fails the scheduled mutation workflow. low stays at 60, so break <= low as required by Stryker input validation. This value is provisional and must be raised after the duplicate Roslyn variant mutation fix lands and a new baseline has been measured.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #297 +/- ##
==========================================
+ Coverage 95.66% 95.69% +0.02%
==========================================
Files 111 111
Lines 7031 7031
Branches 1427 1427
==========================================
+ Hits 6726 6728 +2
+ Misses 140 138 -2
Partials 165 165 ☔ 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
stryker-config.jsonhas"thresholds": { "high": 80, "low": 60, "break": 0 }. The scheduled mutation run (run 40488130044) loggedThe final mutation score is 31.98 %, far belowlow60, and still concludedsuccess, despite 504 survivors and 8348 NoCoverage mutants. A mutation score regression can never be noticed from the workflow status.Root cause
break = 0disables the gate. (highandlowonly colour the report; onlybreakmakes Stryker exit non-zero.) The current low score is, at least partly, a separate problem (duplicate Roslyn variants and test projects that "did not report any test", 8 log lines); the share of each is inferred from the logs, not measured.Change
break: 0->break: 25.lowstays 60, sobreak <= lowholds (Stryker rejectsbreak > lowwith an InputException; any higher break would require raisinglow/highin the same change).Provisional, blocked on the variant fix. The baseline will change once the duplicate-Roslyn-variant fix lands, so this PR is a draft. Before merging: re-measure with a dispatch run on the new baseline, then set
breakabout 5 points below that observed score (and raiselow/highif needed). 25 is only "a few points below today's measured 32 %".Before / After
ci/stryker-break-gate-probewith high=low=break=100, run https://github.com/dailydevops/frameshift/actions/runs/40805541569 loggedFinal mutation score is below threshold break. Crashing...and the job concludedfailureA dispatch run on this PR branch was not done: it would take about 2.5 h and, with a score of ~32 % vs break 25, would just be green; the gate itself was proven with the probe run. Mutants created / compile errors / NoCoverage are unchanged (18800 / - / 8348 in the probe run).
Risk / what this does not change