Repository navigation
Keep a coverage report per target framework - #53
Merged
Merged
Conversation
…er TFM Upstream's __GenerateCoverageReports writes every TFM of a project to one directory, so the HTML shows only the last TFM processed. PR #19 fixed this overwrite for coverlet; #51 dropped that fix with coverlet. The amendment (approved by Ian, 2026-10-18) restores it on MTP as divergence 5: each TFM's report goes to artifacts/coverage-reports/<Project>/<tfm>/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U6RM4Rd2HejEcaWDY3qovL
__GenerateCoverageReports wrote every TFM of a project to artifacts/coverage-reports/<Project>/, so each report overwrote the last and the HTML showed only one framework. Each TFM now writes to artifacts/coverage-reports/<Project>/<tfm>/. Carries PR #19's per-framework report fix onto Microsoft Testing Platform. - Test: GenerateCoverageReports_EachBuiltTfm_WritesItsOwnReportDirectory (RED 20 failures: no per-TFM report, a shared report per project; GREEN 15/15 per-TFM reports, none shared, figures differ per TFM) - Implementation: targetDirectory takes the TFM tag; CONTRIBUTING.md path Refs #14 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U6RM4Rd2HejEcaWDY3qovL
iancooper
requested review from
DevJonny,
holytshirt and
preardon
as code owners
October 19, 2026 00:01
3 tasks
This was referenced Oct 19, 2026
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Replaces #19 on Microsoft Testing Platform.
The defect
__GenerateCoverageReportswrites every TFM of a project to one directory,artifacts/coverage-reports/<Project>/. Each report overwrites the last, so the HTML in thecoverage-<os>artefact shows only one framework. A TFM-specific gap (the kind #14 chases, or net481 on Windows) is then invisible to a reviewer. #19 fixed this overwrite for coverlet. #51 removed coverlet and, following upstream, deliberately didn't carry the fix.The change
artifacts/coverage-reports/<Project>/<tfm>/. The amendment replaces the ADR's "Why keep the shared HTML report directory?" reasoning and updates the divergence table, the task's output contract and the risk table.cake.cs:targetDirectorynow includes the TFM tag. That's one path segment, plus a comment at the divergence, so a later upstream change to the task still applies as a rebrand.CONTRIBUTING.md: the report path.build.ymldoesn't change: the artefact already uploads all ofartifacts/coverage-reports. Each TFM's job-summary section reads its ownSummaryGithub.md.#19's other fix, keeping reports when the coverage gate fails, is already carried by #51: reports are generated before
__VerifyCoverageThresholds.Test
GenerateCoverageReports_EachBuiltTfm_WritesItsOwnReportDirectoryis a check script. It runs the tests and__GenerateCoverageReportsin Release, then asserts two things for every test project:every built TFM (from
dotnet msbuild -getProperty:TargetFrameworks) hasartifacts/coverage-reports/<Project>/<tfm>/index.html;no shared
<Project>/index.htmlremains.RED (before the fix): 20 failures. 15 per-TFM reports were missing, and each of the 5 projects had a shared report.
GREEN: 15/15 per-TFM reports, none shared. The figures differ by TFM; for example, the Specs line rate is 0.69813 on net10.0, 0.69830 on net9.0 and 0.69821 on net8.0.
Full
Defaultbuild (Release, macOS): all tasks succeed, with no threshold violations and no warnings.Refs #14. Supersedes #19.
🤖 Generated with Claude Code
https://claude.ai/code/session_01U6RM4Rd2HejEcaWDY3qovL