Skip to content

Pre-import Python release manager keys before sig verification#295

Merged
dwoz merged 1 commit into
mainfrom
import-rm-keys
Jun 10, 2026
Merged

Pre-import Python release manager keys before sig verification#295
dwoz merged 1 commit into
mainfrom
import-rm-keys

Conversation

@dwoz

@dwoz dwoz commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Auto-update fails the first time a release manager rotates or a brand new release goes out before the key has propagated to the keyservers we poll. Today's 3.13.14 release tripped this: Thomas Wouters' key (7169605F62C751356D054A26A821E680E5FA6305) is on github.com/Yhg1s.gpg but not yet on keyserver.ubuntu.com, keys.openpgp.org, or pgp.mit.edu.

python.org publishes the canonical per-RM key URLs at https://www.python.org/downloads/metadata/pgp/. Pull each of them directly at the start of create_pyversions so we never depend on keyserver freshness to verify a brand-new release. The existing keyserver fallback path stays in place for any future keys not on this list.

Also fixes a stale literal-{url} formatting in the failure exception.

Auto-update fails the first time a release manager rotates or a brand
new release goes out before the key has propagated to the keyservers
we poll.  Today's 3.13.14 release tripped this: Thomas Wouters' key
(7169605F62C751356D054A26A821E680E5FA6305) is on github.com/Yhg1s.gpg
but not yet on keyserver.ubuntu.com, keys.openpgp.org, or pgp.mit.edu.

python.org publishes the canonical per-RM key URLs at
https://www.python.org/downloads/metadata/pgp/.  Pull each of them
directly at the start of create_pyversions so we never depend on
keyserver freshness to verify a brand-new release.  The existing
keyserver fallback path stays in place for any future keys not on this
list.

Also fixes a stale literal-{url} formatting in the failure exception.
@dwoz
dwoz merged commit 4659fa1 into main Jun 10, 2026
6 of 29 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