Skip to content

codecov/project status has never arrived on any commit; every commit is recorded on branch main despite --branch #962

Description

@evkir

Repository: github.com/evkir/CyberAI (public, free tier, GitHub Actions)

What is expected

codecov/project posted as a status on pull request head commits, alongside codecov/patch.

What happens

codecov/patch arrives and succeeds. codecov/project has never arrived on any commit since the repository was connected. Separately, every commit is recorded with branch: main, including pull request heads, although --branch is sent.

Latest example, merge commit 6280d8a7e7a70bbf9dfda9a97962f323308dc1fb: nine GitHub check-runs all successful, combined status carries exactly one entry, codecov/patch success. No codecov/project in either list.

This is not a regression. Across the head commits of pull requests 258 to 267, patch appears from 261 onwards and project appears on none of the ten.

What has been ruled out, and how

  1. Configuration. The effective Repository YAML shown in the Codecov UI contains coverage.status.project.default with target: auto, threshold: 0.5, if_ci_failed: error. codecov.yml in the repository validates against the validation endpoint.

  2. Delivery channel. codecov/patch is delivered on the same channel and arrives, so notifications reach GitHub.

  3. What the client sends. The uploader log shows --pr and --branch with the correct values. override_pr and override_branch are set from the event payload.

  4. A base to compare against. The pull request object carries both base_totals and head_totals. The base branch main has a report.

  5. Checkout depth. Raised to fetch-depth: 0 and the next commit still had patch and no project.

  6. Authentication method. This was run as a separating experiment. The upload ran under a repository CODECOV_TOKEN for one day, and under OIDC (use_oidc: true) before and after. Under the token, on head 36d6f0a2ea75fbd83669b4c8d9d450c4ad391497: patch success, commit still recorded on branch: main, project absent. Under OIDC, on 6280d8a: identical outcome. The authentication method changes neither the recorded branch nor the missing status.

  7. Uploads arriving at all. GET /api/v2/github/evkir/repos/CyberAI/commits/{sha}/uploads/ returns count: 4 with four results on each of 36d6f0a, 4157df8 and 6280d8a, every one named CyberAI CI - test, provider github-actions, state merged, flags empty. The version matrix has four entries, so every upload sent is stored.

Questions

  1. Why is a pull request head commit recorded on branch: main when --branch names the head branch?
  2. What causes codecov/project to be withheld while codecov/patch is computed and posted from the same commit?
  3. Are the two the same cause?

Environment

codecov/codecov-action@v7, GitHub Actions, Python matrix 3.11-3.14, one upload step with no condition, coverage produced by pytest --cov --cov-report=xml. Workflow: https://github.com/evkir/CyberAI/blob/main/.github/workflows/ci.yml

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions