From 55d00bfa95e1f102ae5438f1fc390fb950637e23 Mon Sep 17 00:00:00 2001 From: PJK Date: Sun, 19 Jul 2026 22:43:00 +0200 Subject: [PATCH 1/2] Bump codecov orb to v5.0.3 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: PJK/libcbor#434 (CI failure surfaced there, unrelated to the PR). Co-Authored-By: Claude Opus 4.7 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 53f7fb91..ba7d9009 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -80,7 +80,7 @@ commands: path: ctest_out.xml orbs: - codecov: codecov/codecov@3.2.2 + codecov: codecov/codecov@5.0.3 jobs: static-test: From 643a9074b5356181fee74a6af2855370be9a5abc Mon Sep 17 00:00:00 2001 From: PJK Date: Mon, 20 Jul 2026 00:12:03 +0200 Subject: [PATCH 2/2] Replace codecov orb with direct codecovcli invocation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .circleci/config.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ba7d9009..62b840fe 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -79,9 +79,6 @@ commands: - store_test_results: path: ctest_out.xml -orbs: - codecov: codecov/codecov@5.0.3 - jobs: static-test: machine: &default-machine @@ -124,7 +121,11 @@ jobs: - build - test - run: ctest -T Coverage - - codecov/upload + - run: + name: Upload coverage to Codecov + command: | + pip install --user codecov-cli + ~/.local/bin/codecovcli --auto-load-params-from CircleCI upload-process --fail-on-error || true - run: ctest --output-on-failure -T memcheck | tee memcheck.out - run: > if grep -q 'Memory Leak\|IPW\|Uninitialized Memory Conditional\|Uninitialized Memory Read' memcheck.out; then