Skip to content

ci(release-rpm): accept NOKEY in verify (signing step is source of truth) (2.3)#373

Merged
fcostaoliveira merged 1 commit intoredis:2.3from
filipecosta90:fix/release-rpm-accept-nokey-2.3
May 6, 2026
Merged

ci(release-rpm): accept NOKEY in verify (signing step is source of truth) (2.3)#373
fcostaoliveira merged 1 commit intoredis:2.3from
filipecosta90:fix/release-rpm-accept-nokey-2.3

Conversation

@fcostaoliveira
Copy link
Copy Markdown
Collaborator

@fcostaoliveira fcostaoliveira commented May 6, 2026

Backport of #372 to the 2.3 release branch.

The 2.3.1 publish-to-yum step has now hard-failed twice on Header V4 RSA/SHA512 Signature, key ID bf53aa0c: NOKEY. The packages are correctly V4-signed; NOKEY is a key-management glitch in the gpg→rpm round-trip on a fresh CI runner, not a packaging defect. The signing step (rpm --addsign) is the source of truth for "is signed".

Treat verify as a guard against silent regressions:

  • Hard-fail on missing V3/V4 signature header (signing didn't happen)
  • Hard-fail on BAD (corrupted/tampered)
  • Warn on NOKEY (signed but key not in CI keyring)

Once this lands, retag 2.3.1 to the new 2.3 tip, delete+recreate the release, and publish-to-yum should reach S3 for the first time on this release.

🤖 Generated with Claude Code


Note

Medium Risk
Changes release CI signature verification logic for RPM publishing; a regex/logic mistake could allow unsigned or corrupted RPMs to be published or block valid releases.

Overview
Updates the release-rpm.yml RPM verification step to stop failing releases on NOKEY results from rpm -Kv when a V3/V4 signature header is present.

Verification now hard-fails on BAD/NOTTRUSTED anywhere and on missing V3/V4 signature headers (signing didn’t happen), while emitting a warning if the signature line reports NOKEY (key not in the CI RPM keyring) and continuing the publish.

Reviewed by Cursor Bugbot for commit 1d70aab. Bugbot is set up for automated code reviews on this repo. Configure here.

@fcostaoliveira fcostaoliveira requested a review from paulorsousa May 6, 2026 14:28
@fcostaoliveira fcostaoliveira force-pushed the fix/release-rpm-accept-nokey-2.3 branch from c8ab08f to 3b747fa Compare May 6, 2026 14:42
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Reviewed by Cursor Bugbot for commit 3b747fa. Configure here.

Comment thread .github/workflows/release-rpm.yml Outdated
…uth)

The publish-to-yum verify step has now hard-failed twice on the 2.3.1
release because `rpm -Kv` reports NOKEY (the public key for the V4
signing subkey is not in the runner's rpm keyring after the
`gpg --export | rpm --import` round-trip). The packages are correctly
V4-signed — the failure is a key-management glitch in the verify step,
not a packaging defect.

The signing step (`rpm --addsign $rpm_file` with $SIGN_FPR pulled from
$APT_SIGNING_KEY) is the source of truth for "is signed" — its non-zero
exit fails the workflow before verify runs. Treat NOKEY here as a
warning rather than a hard error so the publish path isn't blocked by
a fragile keyring round-trip.

Still hard-fail on:
  - missing V3/V4 signature header (signing didn't happen)
  - BAD (corrupted/tampered signature)

Refs: 2.3.1 publish-to-yum runs 25388333208 and 25435030368.
Follow-up: debug the gpg→rpm subkey import so the `OK` path is reachable
in CI; the relaxation here is a workaround for the immediate backfill,
not a permanent state.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@fcostaoliveira fcostaoliveira force-pushed the fix/release-rpm-accept-nokey-2.3 branch from 3b747fa to 1d70aab Compare May 6, 2026 14:57
@fcostaoliveira fcostaoliveira merged commit 75588c1 into redis:2.3 May 6, 2026
65 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant