Replace broken codecov CircleCI orb with direct codecovcli invocation - #435
Merged
Conversation
The old 3.2.2 orb ships a Bash-based uploader whose "Validate Codecov Uploader" step fetches a GPG key from a Codecov URL that now returns non-PGP data (32 bytes, no valid OpenPGP), failing the coverage step on every CI run. v5 uses the codecovcli-based uploader and does not perform that validation. Refs: #434 (CI failure surfaced there, unrelated to the PR). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Both v3 and v5 of the codecov CircleCI orb wrap the CLI download with a GPG signature verification step, and Codecov's PGP key URL now returns 32 bytes of non-PGP data, causing every coverage run to fail. Install the codecov CLI directly via pip and run upload-process. Fall back to true on non-zero exit so a Codecov infra outage does not break CI — coverage is best-effort. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #435 +/- ##
========================================
Coverage 99.94% 99.94%
========================================
Files 20 20
Lines 1762 1762
Branches 0 224 +224
========================================
Hits 1761 1761
Misses 1 1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
1 task
PJK
added a commit
that referenced
this pull request
Aug 22, 2026
* Fix CI: swap unreachable cmocka + bazel-key URLs
Two upstream services broke, failing 6 CircleCI jobs on any branch:
- git.cryptomilk.org (cmocka origin) is unreachable from CircleCI
runners: HTTPS connect times out after 21-135s. Affects
build-and-test-{win,32b,mips,mipsel,riscv64}. Point at the
https://github.com/clibs/cmocka mirror instead, which carries the
same cmocka-1.1.5 tag the config already pins to.
- https://bazel.build/bazel-release.pub.gpg now returns 404 (Bazel
moved key hosting). Fetch from
https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg instead,
which is Bazel's canonical apt-repo key location.
Same class of infra rot as #435 (codecov). No functional change.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* Pin cmocka clone to 1.1.5 in dockercross + 32b jobs
The clibs/cmocka mirror carries newer commits than cryptomilk's HEAD
did when these clone commands were originally written. Recent cmocka
headers reference int32_t / intmax_t without a stdint include, which
fails compilation on the older toolchains we cross-build with, e.g.:
/usr/local/include/cmocka.h:2369: error: unknown type name 'int32_t'
The Windows job already pins to cmocka-1.1.5; do the same for the
dockercross and 32-bit jobs to remove HEAD-tracking flakiness across
CI runs.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
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.
Summary
The
codecov/codecov@3.2.2orb has been failing every CI run at the "Validate Codecov Uploader" step. Its Bash-based uploader tries to verify itself by fetching a GPG signing key over curl, but the URL now returns 32 bytes of non-PGP data:Codecov deprecated that path in favour of the
codecovcli-based uploader, shipped in v4/v5 of the orb. Bumping tov5.0.3skips the broken validation entirely.Surfaced by #434 (unrelated code change).
Test plan