fix: post Codecov results as GitHub Checks, not only commit statuses#6044
Open
jam-jee wants to merge 1 commit into
Open
fix: post Codecov results as GitHub Checks, not only commit statuses#6044jam-jee wants to merge 1 commit into
jam-jee wants to merge 1 commit into
Conversation
Since early July 2026 Codecov has been posting only legacy commit statuses (`codecov/project`, `codecov/patch`) for this repo. These appear under the PR "Conversation" merge box but NOT on the PR "Checks" tab, so reviewers looking at /checks no longer see coverage results. Earlier PRs (e.g. aws#5969, Jun 26) correctly posted GitHub check-runs visible on /checks. GitHub Checks are Codecov's default, so this regression is at the GitHub App integration level (the Codecov app losing "Checks: read & write" permission), not a codecov.yml setting -- it affects even PRs that carry no codecov.yml. Add an explicit `github_checks: annotations: true` to document the intended behavior and re-enable check annotations once the app permission is restored. NOTE: this yaml alone does not fully fix visibility. An org/repo admin must re-authorize the Codecov GitHub App so it regains Checks permission (GitHub > aws org > Settings > GitHub Apps > Codecov > Configure, or reconnect the integration from the Codecov dashboard).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue
Codecov coverage results are no longer visible on the PR Checks tab. Since early July 2026 Codecov posts only legacy commit statuses (
codecov/project,codecov/patch) for this repo — these render under the PR Conversation merge box ("Show all checks") but not on/checks.Verified via the GitHub API across PRs:
The switch happened between late June and early July and affects every PR — including ones carrying no
codecov.ymlat all.Root cause
GitHub Checks are Codecov's default behavior (no yaml required), so the fact that config-less PRs also lost them indicates the regression is at the GitHub App integration level — the Codecov GitHub App losing its "Checks: read & write" permission on the repo (e.g. an app reinstall or a GitHub-required permission update that was never re-accepted). When Codecov cannot write Checks, it silently falls back to commit statuses.
Fix (two parts)
1. This PR (documents intent + re-enables annotations): adds
Checks are already the default, so this is explicit-intent + re-enables line annotations once the app permission is restored. The
patchstatus (required for checks to appear) is already configured.2. Required admin action (not in this PR): an org/repo admin must re-authorize the Codecov GitHub App so it regains Checks permission:
awsorg → Settings → GitHub Apps → Codecov → Configure — accept any pending permission request / ensure Checks: Read & write is granted forsagemaker-python-sdk, orThis yaml change alone will not move results back to the Checks tab without step 2.
Testing
python -c "import yaml; yaml.safe_load(open('codecov.yml'))"→ parses.curl --data-binary @codecov.yml https://codecov.io/validate) →Valid!.