Repository navigation
Stop prek hooks changing uv.lock and fail CI when it is stale - #74803
Merged
Merged
Conversation
ashb
requested review from
amoghrajesh,
bugraoz93,
choo121600,
ephraimbuddy,
gopidesupavan,
jason810496,
jedcunningham,
jscheffl,
potiuk and
vatsrahul1001
as code owners
October 15, 2026 14:24
kaxil
reviewed
Oct 15, 2026
kaxil
approved these changes
Oct 15, 2026
Several hooks ran uv without --frozen, so a commit could re-lock with whichever uv was on PATH (seen: lock format revision and environment markers rewritten by an unrelated commit). Set UV_FROZEN=1 through prek's default_env (needs prek 0.4.8); the manual upgrade hooks set UV_FROZEN=0 because they need real resolution. default_env only applies to hooks in the root config, so check-provider-yaml-valid, which runs `uv sync` inside breeze against the bind-mounted host uv.lock, now passes --frozen itself. update-uv-lock ran `uv lock --frozen`, which exits 0 on a stale lock, and CI always skipped it, so the 2026-10-14 providers release merged with version bumps that were never re-locked. Run `uv lock --check` with UV_FROZEN=0 and stop skipping it in CI. The breeze shim passes --locked, which older uv rejects together with an inherited UV_FROZEN. Unset UV_FROZEN in the shim and bump SHIM_VERSION to 3 so existing installs are told to re-run setup_breeze. test_get_expected_shim_version_reads_real_setup_script asserted the exact SHIM_VERSION, so it failed on every bump without saying what broke. It now only asserts that the real setup_breeze still yields an integer version, which is what ties the parser to the real file.
Contributor
Backport successfully created: v3-4-testNote: As of Merging PRs targeted for Airflow 3.X In matter of doubt please ask in #release-management Slack channel.
|
github-actions Bot
pushed a commit
to aws-mwaa/upstream-to-airflow
that referenced
this pull request
Oct 15, 2026
…tale (apache#74803) Several hooks ran uv without --frozen, so a commit could re-lock with whichever uv was on PATH (seen: lock format revision and environment markers rewritten by an unrelated commit). Set UV_FROZEN=1 through prek's default_env (needs prek 0.4.8); the manual upgrade hooks set UV_FROZEN=0 because they need real resolution. default_env only applies to hooks in the root config, so check-provider-yaml-valid, which runs `uv sync` inside breeze against the bind-mounted host uv.lock, now passes --frozen itself. update-uv-lock ran `uv lock --frozen`, which exits 0 on a stale lock, and CI always skipped it, so the 2026-10-14 providers release merged with version bumps that were never re-locked. Run `uv lock --check` with UV_FROZEN=0 and stop skipping it in CI. The breeze shim passes --locked, which older uv rejects together with an inherited UV_FROZEN. Unset UV_FROZEN in the shim and bump SHIM_VERSION to 3 so existing installs are told to re-run setup_breeze. test_get_expected_shim_version_reads_real_setup_script asserted the exact SHIM_VERSION, so it failed on every bump without saying what broke. It now only asserts that the real setup_breeze still yields an integer version, which is what ties the parser to the real file. (cherry picked from commit efb49f5) Co-authored-by: Ash Berlin-Taylor <ash@astronomer.io>
aws-airflow-bot
pushed a commit
to aws-mwaa/upstream-to-airflow
that referenced
this pull request
Oct 15, 2026
…tale (apache#74803) Several hooks ran uv without --frozen, so a commit could re-lock with whichever uv was on PATH (seen: lock format revision and environment markers rewritten by an unrelated commit). Set UV_FROZEN=1 through prek's default_env (needs prek 0.4.8); the manual upgrade hooks set UV_FROZEN=0 because they need real resolution. default_env only applies to hooks in the root config, so check-provider-yaml-valid, which runs `uv sync` inside breeze against the bind-mounted host uv.lock, now passes --frozen itself. update-uv-lock ran `uv lock --frozen`, which exits 0 on a stale lock, and CI always skipped it, so the 2026-10-14 providers release merged with version bumps that were never re-locked. Run `uv lock --check` with UV_FROZEN=0 and stop skipping it in CI. The breeze shim passes --locked, which older uv rejects together with an inherited UV_FROZEN. Unset UV_FROZEN in the shim and bump SHIM_VERSION to 3 so existing installs are told to re-run setup_breeze. test_get_expected_shim_version_reads_real_setup_script asserted the exact SHIM_VERSION, so it failed on every bump without saying what broke. It now only asserts that the real setup_breeze still yields an integer version, which is what ties the parser to the real file. (cherry picked from commit efb49f5) Co-authored-by: Ash Berlin-Taylor <ash@astronomer.io>
ashb
added a commit
that referenced
this pull request
Oct 16, 2026
…tale (#74803) (#74812) Several hooks ran uv without --frozen, so a commit could re-lock with whichever uv was on PATH (seen: lock format revision and environment markers rewritten by an unrelated commit). Set UV_FROZEN=1 through prek's default_env (needs prek 0.4.8); the manual upgrade hooks set UV_FROZEN=0 because they need real resolution. default_env only applies to hooks in the root config, so check-provider-yaml-valid, which runs `uv sync` inside breeze against the bind-mounted host uv.lock, now passes --frozen itself. update-uv-lock ran `uv lock --frozen`, which exits 0 on a stale lock, and CI always skipped it, so the 2026-10-14 providers release merged with version bumps that were never re-locked. Run `uv lock --check` with UV_FROZEN=0 and stop skipping it in CI. The breeze shim passes --locked, which older uv rejects together with an inherited UV_FROZEN. Unset UV_FROZEN in the shim and bump SHIM_VERSION to 3 so existing installs are told to re-run setup_breeze. test_get_expected_shim_version_reads_real_setup_script asserted the exact SHIM_VERSION, so it failed on every bump without saying what broke. It now only asserts that the real setup_breeze still yields an integer version, which is what ties the parser to the real file. (cherry picked from commit efb49f5) Co-authored-by: Ash Berlin-Taylor <ash@astronomer.io>
vatsrahul1001
pushed a commit
that referenced
this pull request
Oct 20, 2026
…tale (#74803) (#74812) Several hooks ran uv without --frozen, so a commit could re-lock with whichever uv was on PATH (seen: lock format revision and environment markers rewritten by an unrelated commit). Set UV_FROZEN=1 through prek's default_env (needs prek 0.4.8); the manual upgrade hooks set UV_FROZEN=0 because they need real resolution. default_env only applies to hooks in the root config, so check-provider-yaml-valid, which runs `uv sync` inside breeze against the bind-mounted host uv.lock, now passes --frozen itself. update-uv-lock ran `uv lock --frozen`, which exits 0 on a stale lock, and CI always skipped it, so the 2026-10-14 providers release merged with version bumps that were never re-locked. Run `uv lock --check` with UV_FROZEN=0 and stop skipping it in CI. The breeze shim passes --locked, which older uv rejects together with an inherited UV_FROZEN. Unset UV_FROZEN in the shim and bump SHIM_VERSION to 3 so existing installs are told to re-run setup_breeze. test_get_expected_shim_version_reads_real_setup_script asserted the exact SHIM_VERSION, so it failed on every bump without saying what broke. It now only asserts that the real setup_breeze still yields an integer version, which is what ties the parser to the real file. (cherry picked from commit efb49f5) Co-authored-by: Ash Berlin-Taylor <ash@astronomer.io>
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.
Several hooks ran uv without --frozen, so a commit could re-lock with
whichever uv was on PATH (seen: lock format revision and environment
markers rewritten by an unrelated commit). Set UV_FROZEN=1 through prek's
default_env (needs prek 0.4.8); the manual upgrade hooks set UV_FROZEN=0
because they need real resolution.
update-uv-lock ran
uv lock --frozen, which exits 0 on a stale lock, andCI always skipped it, so the 2026-10-14 providers release merged with
version bumps that were never re-locked. Run
uv lock --checkwithUV_FROZEN=0 and stop skipping it in CI.
The breeze shim passes --locked, which older uv rejects together with an
inherited UV_FROZEN. Unset UV_FROZEN in the shim and bump SHIM_VERSION to 3
so existing installs are told to re-run setup_breeze.
This should cover and prevent the out-of-sync issue in #74799
Was generative AI tooling used to co-author this PR?
{pr_number}.significant.rst, in airflow-core/newsfragments. You can add this file in a follow-up commit after the PR is created so you know the PR number.