codecov/codecov-action "failed to properly upload report"
codecov-action uploads coverage to Codecov. A transient network error, an upstream 5xx, or a missing token on private repos can fail the upload after tests pass.
What this error means
The codecov step fails with "failed to properly upload report" though tests and coverage generation succeeded.
github-actions
['error'] There was an error running the uploader: Error uploading to ...
failed to properly upload report
##[error]Codecov: Failed to properly upload reportCommon causes
Transient upload failure
A momentary network error or Codecov 5xx interrupts the upload.
Missing token on private repo
Private repos require CODECOV_TOKEN; without it the upload is rejected.
How to fix it
Supply the token and tolerate transient flakes
- Set the token input to secrets.CODECOV_TOKEN for private repos.
- Set fail_ci_if_error thoughtfully so a transient flake does not always fail CI.
- Re-run for transient upload errors.
.github/workflows/coverage.yml
- uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/lcov.infoHow to prevent it
- Provide CODECOV_TOKEN for private repositories.
- Latchkey managed runners auto-retry transient upload failures to coverage services, so an intermittent Codecov upload error usually clears on retry.
Frequently asked questions
What causes ""failed to properly upload report""?
A momentary network error or Codecov 5xx interrupts the upload.
How do I fix "failed to properly upload report"?
Supply the token and tolerate transient flakes
Related guides
GitHub Actions codecov/codecov-action "token required" (rate limit)Fix codecov/codecov-action "Token required" / tokenless rate limit - tokenless uploads are rate-limited, so a…
GitHub Actions codecov/codecov-action "Token required" / Upload RejectedFix codecov/codecov-action upload failures - a missing CODECOV_TOKEN on private repos, a transient upload end…
cypress-io/github-action "Cypress could not verify that this server is running"/binary verify failedFix cypress-io/github-action failing to verify the Cypress binary, often a transient download/cache issue.