Skip to content

ci: skip coverage checks without fresh flag uploads - #2635

Merged
edriouk merged 1 commit into
mainfrom
fix/ci-codecov-unuploaded-flags
Sep 23, 2026
Merged

edriouk merged 1 commit into
mainfrom
fix/ci-codecov-unuploaded-flags

Conversation

@thorstendb-ARM

Copy link
Copy Markdown
Contributor

Summary

Validation

  • Official Codecov YAML validator: Valid!.
  • git diff --check passed. Only codecov.yml changes; no source or workflow changes.

Do not gate unrelated components on carried-forward coverage when their workflows did not upload a report for the current commit. Preserve carryforward data, coverage targets, thresholds, and upload error handling.

Validate the configuration with the official Codecov YAML validator.
@edriouk
edriouk merged commit f30bf6c into main Sep 23, 2026
1 check passed
@edriouk
edriouk deleted the fix/ci-codecov-unuploaded-flags branch September 23, 2026 11:45
@thorstendb-ARM

Copy link
Copy Markdown
Contributor Author

This change fixes the false alarm, but does not guarantee a minimum overall coverage level for devtools. Under that requirement, this PR does not provide a complete solution on its own.

Why did SVDConv fail despite the coverage improvement?

The improvement was real:

The additional tests were present. The measurement data was outdated, not the code.

What does this change affect?

For all six components, the existing coverage requirements remain unchanged when a fresh report is uploaded.

Without a fresh report, the corresponding status check is omitted. This prevents the false alarm described above, but has a limitation: an unexpectedly missing report is also excluded. Codecov does not distinguish between an intentionally skipped test run and a missing upload. See the Codecov documentation.

What is still needed to protect overall coverage?

Even before this PR, the overall status check was disabled with project.default: false. The component checks compare coverage against the base and each allow a decrease of 0.1 percentage points; no fixed overall minimum is configured. See codecov.yml.

To enforce an overall coverage requirement, we also need:

  • A required overall coverage check with a defined minimum.
  • Complete, consistent coverage data.
  • A failure when an expected report is missing.

Simply enabling the overall check would reproduce the same false alarm if it still uses outdated carried-forward reports.

The remaining policy decision is: Should overall coverage stay above a fixed percentage (and if so, which one), or must it never decrease compared with main? The complete solution depends on that choice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants