Skip to content

Fix Codecov CLI installation: keybase.io PGP key gone (404)#69801

Merged
dwoz merged 1 commit into
saltstack:3006.xfrom
dwoz:fix/codecov-keybase-key-gone-3006x
Jul 14, 2026
Merged

Fix Codecov CLI installation: keybase.io PGP key gone (404)#69801
dwoz merged 1 commit into
saltstack:3006.xfrom
dwoz:fix/codecov-keybase-key-gone-3006x

Conversation

@dwoz

@dwoz dwoz commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

What's broken

The Install Codecov CLI step in the Combine Code Coverage job (.github/workflows/ci.yml) and the equivalent step in .github/workflows/depcheck.yml fail on every push and PR:

gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
Process completed with exit code 2.

Reference failing run: https://github.com/saltstack/salt/actions/runs/29173817946

Why

The step fetches the Codecov signing key from https://keybase.io/codecovsecurity/pgp_keys.asc, which now returns HTTP 404. Keybase is effectively dead post-Zoom acquisition.

Fix

Swap the dead Keybase URL for https://uploader.codecov.io/verification.gpg -- the Codecov Uploader Verification Key (keyid 27034E7FDB850E0BBC2C62FF806BB28AED779869), which is the same key that signs the codecov.SHA256SUM.sig file the workflow already downloads and verifies. Minimum-blast-radius change: one URL, no new action pins, coverage semantics unchanged.

I also considered switching to codecov/codecov-action@v5; deferred because it's a broader refactor and would need to be re-evaluated for tokenless/token semantics. The URL swap unblocks CI now.

Verification

$ curl -sI https://uploader.codecov.io/verification.gpg
HTTP/2 200
content-type: text/plain; charset=utf-8
content-length: 3187
last-modified: Tue, 11 Oct 2022 16:54:26 GMT
...

$ curl -s https://uploader.codecov.io/verification.gpg | gpg --show-keys
pub   rsa4096 2021-05-24 [SC]
      27034E7FDB850E0BBC2C62FF806BB28AED779869
uid                      Codecov Uploader (Codecov Uploader Verification Key) <security@codecov.io>
sub   rsa4096 2021-05-24 [E]

Confirmed valid OpenPGP data (not HTML).

Scope / merge-forward

Same broken block exists on 3007.x, 3008.x, and master. This PR targets 3006.x; the maintainer merge-forward pipeline will carry it to the newer branches. No sibling PRs.

Fixes #69800

The `Install Codecov CLI` step fetches the Codecov signing key from
`https://keybase.io/codecovsecurity/pgp_keys.asc`, which now returns
HTTP 404 (Keybase is effectively dead post-Zoom acquisition). This
breaks the `Combine Code Coverage` job in `ci.yml` and the equivalent
step in `depcheck.yml` on every push and PR.

Swap the URL for `https://uploader.codecov.io/verification.gpg`, which
returns HTTP 200 with the Codecov Uploader Verification Key (keyid
`27034E7FDB850E0BBC2C62FF806BB28AED779869`) -- the same key that signs
the `codecov.SHA256SUM.sig` the workflow already downloads and verifies.

Fixes saltstack#69800
@dwoz dwoz requested a review from a team as a code owner July 13, 2026 21:18
@dwoz dwoz added the test:full Run the full test suite label Jul 13, 2026
@dwoz dwoz added this to the Sulphur v3006.28 milestone Jul 13, 2026
@dwoz dwoz merged commit 70c8e4d into saltstack:3006.x Jul 14, 2026
439 of 444 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:full Run the full test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant