Skip to content

chore(ci): reduce noise from numerous codecov checks#3390

Merged
hopehadfield merged 5 commits into
redhat-developer:mainfrom
hopehadfield:reduce-cc-checks
Jun 16, 2026
Merged

chore(ci): reduce noise from numerous codecov checks#3390
hopehadfield merged 5 commits into
redhat-developer:mainfrom
hopehadfield:reduce-cc-checks

Conversation

@hopehadfield

Copy link
Copy Markdown
Member

Hey, I just made a Pull Request!

What does this PR do

Remove per-flag project and patch status checks from flag_management.default_rules.statuses by setting it to an empty array.

Why

Every flag defined in individual_flags (24 workspaces + 6 E2E flags) generates its own project and patch GitHub status check on every PR — roughly 60 informational checks. This clutters the PR checks list and provides no actionable signal beyond what the 2 global checks already cover.

What stays the same

  • Coverage uploads — CI still uploads per-workspace lcov.info with flag tags
  • Flags dashboard — per-workspace breakdown on Codecov is unaffected
  • Carryforward — untouched workspaces still carry forward coverage
  • Global PR checks — codecov/project and codecov/patch remain
  • PR comment — coverage diff table with flags still posts
  • Baselines — target: auto baselines are computed from stored data, not status config

cc @gustavolira

✔️ Checklist

  • A changeset describing the change and affected packages. (more info)
  • Added or Updated documentation
  • Tests for new functionality and regression tests for bug fixes
  • Screenshots attached (for UI changes)

Signed-off-by: Hope Hadfield <hhadfiel@redhat.com>
@hopehadfield hopehadfield requested a review from gustavolira June 12, 2026 13:08
@hopehadfield hopehadfield requested review from a team as code owners June 12, 2026 13:08
@rhdh-qodo-merge

rhdh-qodo-merge Bot commented Jun 12, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0)

Grey Divider


Informational

1. Coverage gate removed 🐞 Bug ☼ Reliability
Description
flag_management.default_rules.statuses is now empty, so Codecov will no longer generate the
per-flag project/patch status checks that previously had thresholds configured. Since the remaining
global coverage.status entries are explicitly marked informational: true, this change leaves no
non-informational status rules configured in-repo to enforce coverage thresholds via status
failures.
Code

codecov.yml[R61-64]

flag_management:
  default_rules:
    carryforward: true
-    statuses:
-      - type: project
-        target: auto
-        threshold: 100%
-      - type: patch
-        target: auto
-        threshold: 100%
+    statuses: []
Relevance

⭐ Low

Team intentionally keeps Codecov checks informational/non-blocking; prior config explicitly avoided
gating (PR #2955).

PR-#2955
PR-#2613

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The diff shows per-flag statuses removed (statuses: []), and the only remaining status rules in
the file are marked informational, meaning the config no longer contains any non-informational
status rules.

codecov.yml[21-36]
codecov.yml[61-65]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The PR removes the per-flag `project`/`patch` status rules by setting `flag_management.default_rules.statuses: []`. With global statuses configured as `informational: true`, `codecov.yml` no longer defines any non-informational status rules that can enforce coverage thresholds via failing status checks.

### Issue Context
This may be intended to reduce PR check noise, but it also removes the only threshold-based (non-informational) status definitions previously present in the file.

### Fix Focus Areas
- codecov.yml[21-36]
- codecov.yml[61-70]

### Suggested fix
Either:
1) Keep noise low while preserving enforcement by adding a *single* non-informational `coverage.status` rule (e.g., set `informational: false` for `coverage.status.project.default` and/or `coverage.status.patch.default`), or
2) Re-introduce a minimal `flag_management.default_rules.statuses` configuration that creates only the required status contexts you want enforced (not per-flag), if supported by your desired Codecov behavior.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

@rhdh-qodo-merge

Copy link
Copy Markdown

PR Summary by Qodo

Reduce Codecov per-flag status checks to declutter PR checks
⚙️ Configuration changes 🕐 Less than 10 minutes

Grey Divider

Walkthroughs

Description
• Disable default per-flag project/patch status checks in Codecov configuration.
• Keep global Codecov project/patch checks and per-flag uploads/dashboard behavior intact.
Diagram
graph TD
  PR["GitHub PR"] --> CI["CI workflow"] --> CC["Codecov"] --> Checks["GitHub status checks"]
  Config["codecov.yml"] --> CC
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Keep statuses but tune them (e.g., informational / only some flags)
  • ➕ Retains some per-flag visibility in GitHub without removing the feature entirely
  • ➖ Still increases check noise; requires ongoing maintenance as flags change
2. Reduce or consolidate Codecov flags
  • ➕ Fewer flags means fewer downstream artifacts/checks everywhere
  • ➖ Loses per-workspace coverage granularity in Codecov dashboards and comments (undesired per PR description)

Recommendation: The chosen approach (set flag_management.default_rules.statuses to []) is the best fit: it removes noisy per-flag checks while preserving per-flag uploads, dashboards, carryforward, and the two global Codecov checks that provide the actionable signal.

Grey Divider

File Changes

Other (1)
codecov.yml Disable default per-flag Codecov status checks +1/-7

Disable default per-flag Codecov status checks

• Removes the default 'project' and 'patch' status entries under 'flag_management.default_rules' and replaces them with an empty 'statuses: []'. This prevents Codecov from creating separate GitHub status checks for each individual flag while keeping flag uploads and global checks unchanged.

codecov.yml


Grey Divider

Qodo Logo

@rhdh-qodo-merge rhdh-qodo-merge Bot added enhancement New feature or request Other labels Jun 12, 2026

@nickboldt nickboldt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems reasonable

@hopehadfield hopehadfield enabled auto-merge (squash) June 16, 2026 14:37
@sonarqubecloud

Copy link
Copy Markdown

@hopehadfield hopehadfield merged commit 65e0cea into redhat-developer:main Jun 16, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Other

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants