ci: exclude identity from coverage collection and gating (tests still run) - #1569
Conversation
… run) Remove identity resolution from coverage entirely, mirroring the existing rust lint-only mechanism: the identity component gets cover=false in components.py, threaded through the dotnet matrix entry (changed.py). In the dotnet CI job, cover=false entries run the same restore/build/test cycle (unit + Testcontainers-MariaDB integration) WITHOUT XPlat collection, dotnet-coverage merge, or the Cobertura upload — a test failure still fails the job and therefore the coverage-gate's "Guard against incomplete reports" step, so correctness still gates the pipeline. Gate side: the --require derivation now filters dotnet entries by .cover (same as rust), so an identity-only PR is not flagged as "changed component produced no report". coverage.py needs no changes — with no dotnet report, identity lands in the skipped list for the overall gate, diff-cover omits files absent from every report for the new-code gate, and an identity-only PR (zero XMLs) short-circuits to "No component reports — nothing to gate". Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Anton Zelenov <antonz@constructor.tech>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThis PR introduces a ChangesOptional Coverage Flag for Dotnet Components
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What
Removes identity resolution from coverage entirely — collection, artifact upload, and both gates — while its tests keep running and keep gating the pipeline.
Mechanism mirrors the existing rust lint-only pattern (
cover=false):scripts/ci/components.py— identity getscover: False(with rationale comment)scripts/ci/changed.py— dotnet matrix entries now carry thecoverflag.github/workflows/ci.ymldotnet job —cover=falseentries run the same restore/build/test cycle (unit + Testcontainers MariaDB) without--collect/merge/upload; a test failure still fails the job → still trips the coverage-gate's "Guard against incomplete reports"--requirederivation filters dotnet by.cover(same as rust), so an identity-only PR isn't flagged as a changed component with a missing reportcoverage.pyneeds no changes:.cslines don't countVerified
cover: Falsefor identity--requirejq derivation with identity in the changed set → empty (excluded)cobertura-dotnet-*artifacts in the repo🤖 Generated with Claude Code
Summary by CodeRabbit