ci: upload coverage reports to github - #7937
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: eef1a37c-bad6-40d4-a626-d611f3aa65dc
There was a problem hiding this comment.
Pull request overview
Adds native GitHub coverage ingestion for .NET and Python CI workflows.
Changes:
- Grants required code-quality permissions.
- Uploads Cobertura/XML coverage reports with language-specific labels.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/workflows/python-test-coverage.yml |
Adds Python coverage upload. |
.github/workflows/dotnet-build-and-test.yml |
Adds .NET coverage upload. |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
MAF Automated Review — Iteration 1
Result: Findings reported
Scope: full PR (1 commit(s)): e22aec32c010
Model: gpt-5.6-sol
Overview
The review found 4 verified inline finding(s).
Reviewed the supplied pull-request change set across correctness, security/reliability, architecture, and failure behavior.
4 verified findings remained after source verification (1 high, 3 medium) across 2 files. Details are attached to the affected lines below.
Affected areas: .github/workflows/dotnet-build-and-test.yml, .github/workflows/python-test-coverage.yml
Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
There was a problem hiding this comment.
MAF Automated Review — Iteration 2
Result: Findings reported
Scope: 5 net-new commit(s): b901269d33da, d9799694e150, 7c728e0fe0c2, 757f2a83c3b2, aa01b7eec467
Model: gpt-5.6-sol
Overview
The revision now generates the expected .NET Cobertura file, uploads artifacts before native ingestion, and keeps coverage-write permission out of the jobs that execute repository code. However, the privileged upload jobs are still defined by same-repository PR branches, so those branches can alter the jobs and use their write token directly. Replacing the trusted Python reporter also removes the only coverage feedback path for fork and Dependabot PRs, which native ingestion intentionally excludes.
Reviewed the supplied incremental change set across correctness, security/reliability, architecture, and failure behavior.
2 verified findings remained after source verification (2 medium) across 1 file. Details are attached to the affected lines below.
Affected areas: .github/workflows/python-test-coverage.yml
Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
Motivation & Context
Configure CI coverage output for GitHub's native code coverage ingestion so coverage data is available directly from workflow runs for .NET and Python changes.
Description & Review Guide
actions/upload-code-coverage.actions/upload-code-coverage.code-quality: writeandpull-requests: readpermissions.Related Issue
No linked issue. No overlapping open PR was found for this coverage ingestion setup.
Contribution Checklist
breaking changelabel (or add "[BREAKING]" to the title prefix, before or after any language prefix) — a workflow keeps the label and title prefix in sync automatically.