Skip to content

Use uv-managed Python for the remaining workflows - #15622

Merged
alex merged 1 commit into
mainfrom
claude/adoring-darwin-4k4vqk
Sep 11, 2026
Merged

alex merged 1 commit into
mainfrom
claude/adoring-darwin-4k4vqk

Conversation

@reaperhulk

Copy link
Copy Markdown
Member

Follow-up to #15572 and #15621. benchmark.yml, linkcheck.yml and pypi-publish.yml were the last users of actions/setup-python; after this there are none. All three get uv from astral-sh/setup-uv with the version pinned by ci-constraints-requirements.txt.

  • benchmark: setup-uv with Python 3.11 replaces setup-python plus the pip install of uv. The comparison script runs on the PR venv's interpreter instead of whatever python is on PATH, since nothing puts a specific one there any more.
  • linkcheck: mirrors the ci.yml linux job (activated venv, nox via uv pip install, cache keyed on python-runtime-id). The comment saying its cache key matched the docs job's is dropped: docs runs on 3.12 with an OpenSSL component in its key, and rust-cache adds the job id regardless, so they haven't shared a cache for a while.
  • pypi-publish: it only needed Python to pip-install uv for uv publish, so it now installs uv directly after the sparse checkout and sets up no interpreter at all. This one can't be exercised on a PR (it runs on wheel-builder completion or manual dispatch); the publish step itself is untouched.

benchmark and linkcheck both trigger on changes to their own file, so they run here.

🤖 Generated with Claude Code

https://claude.ai/code/session_0116sWJmeCaubZF2aMbR4kfc


Generated by Claude Code

Copy link
Copy Markdown
Member Author

The linkcheck check is red here, but not because of this PR. The converted job got all the way through: setup-uv, the venv, building the extension and running sphinx's linkcheck. It then failed on one broken link, a 403 from https://digitalcommons.unl.edu/cgi/viewcontent.cgi?article=1100&context=cseconfwork (cited from docs/hazmat/primitives/asymmetric/ec.rst as "elliptic curve diffie-hellman is faster than diffie-hellman"). The scheduled linkcheck on main has failed on exactly that link for the last four weekly runs, most recently 34544896952 an hour before this PR was opened, so a re-run won't change it.

The PDF endpoint returns 403 to everything, browser user agents included, but the paper's landing page is fine. Proposed fix, kept out of this PR since it's a docs change:

--- a/docs/hazmat/primitives/asymmetric/ec.rst
+++ b/docs/hazmat/primitives/asymmetric/ec.rst
-.. _`elliptic curve diffie-hellman is faster than diffie-hellman`: https://digitalcommons.unl.edu/cgi/viewcontent.cgi?article=1100&context=cseconfwork
+.. _`elliptic curve diffie-hellman is faster than diffie-hellman`: https://digitalcommons.unl.edu/cseconfwork/105/

That's the landing page for the same paper ("The Performance of Elliptic Curve Based Group Diffie-Hellman Protocols for Secure Group Communication over Ad Hoc Networks"); its citation_pdf_url is the article=1100 URL.


Generated by Claude Code

Copy link
Copy Markdown
Member Author

The docs fix for the broken link is now #15623.


Generated by Claude Code

benchmark, linkcheck and pypi-publish were the last users of
actions/setup-python. They get uv from setup-uv with the version pinned
by ci-constraints-requirements.txt, as ci.yml and the wheel builder
already do.

linkcheck's cache key claimed to match the docs job's, but the docs job
has run on 3.12 with an OpenSSL component in its key, and rust-cache
adds the job id anyway, so it is keyed on the runtime id alone.
pypi-publish only needs uv for `uv publish`, so it no longer sets up an
interpreter at all. The benchmark comparison script runs on the PR
venv's interpreter instead of whatever `python` is on PATH.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0116sWJmeCaubZF2aMbR4kfc
@reaperhulk
reaperhulk force-pushed the claude/adoring-darwin-4k4vqk branch from 19dc667 to 87cd2f6 Compare September 11, 2026 01:59

Copy link
Copy Markdown
Member Author

Rebased onto main with #15623; the digitalcommons link now reports ok. linkcheck is still red on 87cd2f6, this time on two mail.python.org links (mailman/listinfo/cryptography-dev and mailman3/lists/python-announce-list.python.org/) hitting sphinx's 5s read timeout. Both are fine on main's scheduled run from two hours ago; right now the site takes 6–16s to first byte from here too, so it's mail.python.org being slow rather than anything in this PR. I'll re-run the job once it responds normally. If it keeps recurring, bumping linkcheck_timeout in docs/conf.py would be the durable fix, separate from this PR.


Generated by Claude Code

@alex
alex merged commit cdaac7b into main Sep 11, 2026
71 of 72 checks passed
@alex
alex deleted the claude/adoring-darwin-4k4vqk branch September 11, 2026 11:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants