codecov / codecov/codecov-action

[BUG] Random fails due to uploader verification key import failing

Open
#1,876 15 comments 21 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
1.7k
Forks
260
Avg merge
1d 7h
Merged PRs (30d)
1

Description

Describe the bug
Some coverage upload jobs in GHA randomly fail to import the Codecov Uploader (Codecov Uploader Verification Key) <security@codecov.io> key to GPG, resulting in the later signature verification also failing due to the missing public key to verify with. Restarting the failed job usually works.

To Reproduce
Unknown, randomly happens. Likely external factors.

Expected behavior
Upload success

Regression
unknown

Screenshots
N/A

Product Area
Coverage upload

Versions

  • OS: [e.g. linux, ubuntu@v24, macos arm64, windows]
  • Git Host: GitHub
  • CI/CD: GitHub Actions
  • Uploader: codecov-action@v5.5.1

Commit and CI link
https://github.com/aio-libs/aiomysql/tree/5b36eb25a969358020e2f4bc81c593c4ceb53f50
https://github.com/aio-libs/aiomysql/actions/runs/17621637277/job/50068536846

Run codecov/codecov-action@v5.5.1
Run missing_deps=""
All required system dependencies are available.
Run CC_ACTION_VERSION=$(cat ${GITHUB_ACTION_PATH}/src/version)
==> Running Action version 5.5.1
Run git config --global --add safe.directory "/home/runner/work/aiomysql/aiomysql"
Run CC_FORK="false"
Run actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea
Run if [ "false" == 'true' ] && [ "$CC_FORK" != 'true' ];
==> Token set from input
Run if [ -z "$CC_BRANCH" ] && [ -z "$CC_TOKEN" ] && [ "$CC_FORK" == 'true' ]
Run if [ -z "$CC_SHA" ];
Run ${GITHUB_ACTION_PATH}/dist/codecov.sh
     _____          _
    / ____|        | |
   | |     ___   __| | ___  ___ _____   __
   | |    / _ \ / _` |/ _ \/ __/ _ \ \ / /
   | |___| (_) | (_| |  __/ (_| (_) \ V /
    \_____\___/ \__,_|\___|\___\___/ \_/
                            Wrapper-0.2.7
                           
==> Detected linux
 -> Downloading https://cli.codecov.io/latest/linux/codecov
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 10.6M  100 10.6M    0     0  78.2M      0 --:--:-- --:--:-- --:--:-- 78.4M
==> Finishing downloading linux:latest
      Version: v11.2.0
 
gpg: directory '/home/runner/.gnupg' created
gpg: keybox '/home/runner/.gnupg/pubring.kbx' created
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
==> Verifying GPG signature integrity
 -> Downloading https://cli.codecov.io/latest/linux/codecov.SHA256SUM
 -> Downloading https://cli.codecov.io/latest/linux/codecov.SHA256SUM.sig
 
gpg: Signature made Thu Aug 21 16:12:56 2025 UTC
gpg:                using RSA key 27034E7FDB850E0BBC2C62FF806BB28AED779869
gpg: Can't check signature: No public key
==> Could not verify signature. Please contact Codecov if problem continues
    Exiting...
Error: Process completed with exit code 1.

Additional context
N/A

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the codecov-action@v5.5.1 execution path, especially dist/codecov.sh, and review the failing GitHub Actions log around GPG key import and signature verification. Reproduce or trace the intermittent failure if possible; done means the Codecov uploader key is imported and the downloaded uploader signature verifies reliably.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, shell
Domain
ci-cd, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.