[v3-2-test] Breeze: ensure generated Dockerfile.pmc upgrades uv to the required floor (#65774)#65829
Merged
Merged
Conversation
1 task
02c4210 to
e4c127a
Compare
…e required floor (#65774) `breeze release-management check-release-files providers` generates a Dockerfile.pmc that copies the root `pyproject.toml` into the CI image and then runs `uv pip install`. If the CI image ships an older uv than `[tool.uv] required-version`, that install step fails with: error: Required uv version `>=X.Y.Z` does not match the running version `A.B.C`. Update `uv` by running `uv self update`. This is reproducible today: the current `ghcr.io/apache/airflow/main/ci/ python3.10` ships uv 0.11.6 while the pin is `>=0.11.7`, so every PMC Dockerfile.pmc verification breaks out of the box. Inject a `pip install --upgrade 'uv>=X.Y.Z'` before the `uv pip install` step so the install works regardless of when the CI image was last rebuilt. The floor is a module constant with the existing `# sync-uv-min-version` marker so the `sync-uv-min-version-markers` prek hook keeps it in lockstep with the `[tool.uv] required-version` bump going forward — drop `check_release_files.py` into that hook's file list and add a belt-and-braces test that the two values match. (cherry picked from commit 0df38ff) Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
e4c127a to
2f48d99
Compare
potiuk
approved these changes
Apr 26, 2026
vatsrahul1001
pushed a commit
that referenced
this pull request
Apr 27, 2026
…e required floor (#65774) (#65829) `breeze release-management check-release-files providers` generates a Dockerfile.pmc that copies the root `pyproject.toml` into the CI image and then runs `uv pip install`. If the CI image ships an older uv than `[tool.uv] required-version`, that install step fails with: error: Required uv version `>=X.Y.Z` does not match the running version `A.B.C`. Update `uv` by running `uv self update`. This is reproducible today: the current `ghcr.io/apache/airflow/main/ci/ python3.10` ships uv 0.11.6 while the pin is `>=0.11.7`, so every PMC Dockerfile.pmc verification breaks out of the box. Inject a `pip install --upgrade 'uv>=X.Y.Z'` before the `uv pip install` step so the install works regardless of when the CI image was last rebuilt. The floor is a module constant with the existing `# sync-uv-min-version` marker so the `sync-uv-min-version-markers` prek hook keeps it in lockstep with the `[tool.uv] required-version` bump going forward — drop `check_release_files.py` into that hook's file list and add a belt-and-braces test that the two values match. (cherry picked from commit 0df38ff) Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
vatsrahul1001
pushed a commit
that referenced
this pull request
May 20, 2026
…e required floor (#65774) (#65829) `breeze release-management check-release-files providers` generates a Dockerfile.pmc that copies the root `pyproject.toml` into the CI image and then runs `uv pip install`. If the CI image ships an older uv than `[tool.uv] required-version`, that install step fails with: error: Required uv version `>=X.Y.Z` does not match the running version `A.B.C`. Update `uv` by running `uv self update`. This is reproducible today: the current `ghcr.io/apache/airflow/main/ci/ python3.10` ships uv 0.11.6 while the pin is `>=0.11.7`, so every PMC Dockerfile.pmc verification breaks out of the box. Inject a `pip install --upgrade 'uv>=X.Y.Z'` before the `uv pip install` step so the install works regardless of when the CI image was last rebuilt. The floor is a module constant with the existing `# sync-uv-min-version` marker so the `sync-uv-min-version-markers` prek hook keeps it in lockstep with the `[tool.uv] required-version` bump going forward — drop `check_release_files.py` into that hook's file list and add a belt-and-braces test that the two values match. (cherry picked from commit 0df38ff) Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
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.
breeze release-management check-release-files providersgenerates aDockerfile.pmc that copies the root
pyproject.tomlinto the CI imageand then runs
uv pip install. If the CI image ships an older uv than[tool.uv] required-version, that install step fails with:This is reproducible today: the current
ghcr.io/apache/airflow/main/ci/ python3.10ships uv 0.11.6 while the pin is>=0.11.7, so every PMCDockerfile.pmc verification breaks out of the box.
Inject a
pip install --upgrade 'uv>=X.Y.Z'before theuv pip installstep so the install works regardless of when the CI image was last
rebuilt. The floor is a module constant with the existing
# sync-uv-min-versionmarker so thesync-uv-min-version-markersprekhook keeps it in lockstep with the
[tool.uv] required-versionbumpgoing forward — drop
check_release_files.pyinto that hook's filelist and add a belt-and-braces test that the two values match.
(cherry picked from commit 0df38ff)
Co-authored-by: Jarek Potiuk jarek@potiuk.com