CNTRLPLANE-3535: Add codecov carryforward flags to stabilize project coverage checks#8642
Conversation
Unit tests run in 5 shards that upload coverage separately. Without carryforward, Codecov recomputes the project total after each shard arrives and posts intermediate statuses. The last shard to arrive determines pass/fail, causing coverage to swing between ~40% and ~47% on the same code depending on timing. Adding carryforward: true to each flag ensures Codecov uses last-known data for flags that haven't uploaded yet, stabilizing the total from the first status update. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@bryan-cox: This pull request references CNTRLPLANE-3535 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Skipping CI for Draft Pull Request. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis PR updates Suggested reviewers
🚥 Pre-merge checks | ✅ 11✅ Passed checks (11 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
/lgtm |
|
@cblecker: The DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Pipeline controller notification No second-stage tests were triggered for this PR. This can happen when:
Use |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: bryan-cox, cblecker The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/retest |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8642 +/- ##
==========================================
- Coverage 45.84% 40.68% -5.17%
==========================================
Files 440 755 +315
Lines 52824 93368 +40544
==========================================
+ Hits 24218 37985 +13767
- Misses 26816 52649 +25833
- Partials 1790 2734 +944 see 317 files with indirect coverage changes
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
/override codecov/project |
|
@bryan-cox: Overrode contexts on behalf of bryan-cox: codecov/project DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/override "Red Hat Konflux / hypershift-operator-enterprise-contract / hypershift-operator-main" |
|
@bryan-cox: Overrode contexts on behalf of bryan-cox: Red Hat Konflux / hypershift-operator-enterprise-contract / hypershift-operator-main DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
@bryan-cox: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
fce95fc
into
openshift:main
Test Failure Analysis CompleteJob Information
Test Failure AnalysisErrorSummaryThe Root CauseThe failure is caused by a stale Codecov baseline combined with uncovered codebase growth, not by any change in this PR. Mechanism:
Recommendations
Evidence
|
Summary
carryforward: trueflag definitions for all 5 unit test shards incodecov.ymlcodecov/projectcheck failures across PRsProblem
Unit tests run in 5 parallel shards (
cpo-hostedcontrolplane,cpo-other,hypershift-operator,cmd-support,other), each uploading a separate coverage file. Withoutcarryforward, Codecov recomputes the project total after each shard arrives and posts intermediatecodecov/projectstatuses. The last shard to arrive determines pass/fail.Evidence from main branch: coverage on the same commit swings between ~40% and ~47% depending on shard upload timing. For example, commit
adfbcddc2ewent 41.80% → 47.18% → 45.84% within 10 minutes as shards arrived.Fix
With
carryforward: true, when a shard hasn't uploaded yet for a given commit, Codecov uses its last-known coverage data instead of treating it as empty. This stabilizes the project total from the first status update through the last.Test plan
codecov/projectstatus stabilizes on this PR (should not show ~5% swings between shard uploads)informational: true)🤖 Generated with Claude Code
Summary by CodeRabbit