Sync uv Dockerfile Python versions with python ecosystem#15087
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the uv ecosystem’s Docker image build to use the same pinned preinstalled Python patch versions as the shared Dependabot::Python::Language (which uv aliases), preventing runtime tarball mismatches during extraction.
Changes:
- Bump pinned Python ARG versions in
uv/Dockerfileto match the Python ecosystem’s preinstalled runtime list (3.14.5, 3.13.13, 3.12.13, 3.11.15, 3.10.20, 3.9.25).
Show a summary per file
| File | Description |
|---|---|
| uv/Dockerfile | Updates Python version ARG pins to align with the shared Python language version list used by uv. |
Copilot's findings
- Files reviewed: 4/4 changed files
- Comments generated: 1
c41fb64 to
3c0759b
Compare
kbukum1
commented
May 20, 2026
|
|
||
| describe "a development sub-dependency" do | ||
| subject(:dep) { dependencies.find { |d| d.name == "atomicwrites" } } | ||
| subject(:dep) { dependencies.find { |d| d.name == "click" } } |
Contributor
Author
There was a problem hiding this comment.
synced the spec with the python (pip) one.
AbhishekBhaskar
approved these changes
May 20, 2026
Update Python version pins in the uv Dockerfile to match the versions already deployed in the python ecosystem (PR #15058). The uv ecosystem aliases the Python Language class, so the code expects these exact versions when extracting compressed Python runtimes. - 3.14.2 → 3.14.5 - 3.13.11 → 3.13.13 - 3.12.12 → 3.12.13 - 3.11.14 → 3.11.15 - 3.10.19 → 3.10.20 - 3.9.24 → 3.9.25 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Apply the same approach from #15058 to the uv ecosystem: - Upgrade helper packages to latest versions (pip 26.1.1, poetry 2.4.1, etc.) - Add requirements-3.9.txt with old 3.9-compatible versions - Update build script with conditional requirements selection Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Match the same change from python/spec in #15058 — deprecated version is now 3.9, not 3.8. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use the same 3.9-compatible versions as python/helpers/requirements-3.9.txt to avoid unnecessary drift between ecosystems. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Poetry 2.4.1 changes behavior with old v1 lockfile format, causing subdependency metadata classification failures. Keep at 2.2.1 (same as python ecosystem) and defer the poetry upgrade to a follow-up PR. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Poetry 2.2.1 has path traversal vulnerabilities. Use 2.3.3 which is the minimum patched version. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2.3.3 only fixed the high severity CVE; 2.3.4 also fixes the low severity tar extraction path traversal. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace old v1 format fixture (using category field) with the v2 format (using groups and files fields) already used in the python ecosystem. Update spec to use 'click' as the dev sub-dependency (matching python spec) since 'atomicwrites' is not in the v2 fixture. This fixes the subdependency_metadata test failure with poetry 2.3.4 which cannot properly parse v1 lockfile format. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
3c0759b to
3b88ed2
Compare
markhallen
pushed a commit
that referenced
this pull request
May 21, 2026
* Sync uv Dockerfile Python versions with python ecosystem Update Python version pins in the uv Dockerfile to match the versions already deployed in the python ecosystem (PR #15058). The uv ecosystem aliases the Python Language class, so the code expects these exact versions when extracting compressed Python runtimes. - 3.14.2 → 3.14.5 - 3.13.11 → 3.13.13 - 3.12.12 → 3.12.13 - 3.11.14 → 3.11.15 - 3.10.19 → 3.10.20 - 3.9.24 → 3.9.25
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.
What are you trying to accomplish?
Sync the uv ecosystem with the Python version and dependency upgrades from #15058. The uv ecosystem aliases the Python
Languageclass, so the code expects the updated versions when extracting compressed Python runtimes. Without this sync, the uv updater fails withtar: Cannot open: No such file or directoryerrors.Python runtime updates (uv/Dockerfile):
Helper dependency updates (uv/helpers/requirements.txt, Python ≥3.10):
Anything you want to highlight for special attention from reviewers?
Same approach as #15058: Several updated packages (pip 26.x, poetry 2.x) dropped Python 3.9 support. We introduced a separate
requirements-3.9.txtpinned to the last known 3.9-compatible versions, and updated the build script to conditionally select the right file based on the target Python version.Poetry version: Pinned to 2.3.4 — the minimum version that fixes both CVE-2026-34591 (GHSA-2599-h6xx-hpxp, high severity wheel path traversal) and CVE-2026-41140 (GHSA-73h3-mf4w-8647, low severity tar extraction path traversal). Poetry 2.4.1 was avoided as it introduces additional behavioral changes.
Fixture and spec sync: The
poetry.lockfixture was upgraded from Poetry v1 format (usingcategoryfield) to v2 format (usinggroupsandfilesfields), synced from the python ecosystem. Poetry 2.3.4 cannot properly parse v1 lockfiles for production dependency classification. The spec was updated to useclickas the dev sub-dependency (matching the python spec) sinceatomicwritesis not in the v2 fixture.Other updates: The Dockerfile comment now correctly references
python/lib/dependabot/python/language.rbsince the uv language class is an alias. Thelanguage_spec.rbdeprecated test version was updated from3.8.1to3.9.1to match the newDEPRECATED_VERSIONS.How will you know you have accomplished your goal?
tar: Cannot openerrors are resolved for uv ecosystem jobsChecklist