potiuk opened a new pull request, #65211:
URL: https://github.com/apache/airflow/pull/65211
Removes all hard-coded `uv` / `prek` version references from GitHub Actions
workflows and composite actions, and derives them at runtime from `uv.lock` via
a tiny `sed` snippet:
```bash
sed -n '/^name = "uv"$/{n;s/^version = "\(.*\)"$/\1/p;}' uv.lock
```
The format of `uv.lock` is stable — the line immediately after `name =
"<pkg>"` is `version = "<X.Y.Z>"` for that package — so this is a safe,
dependency-free extraction (with a loud failure if it ever returns empty).
## Why
The scheduled `[v3-2-test] Scheduled CI upgrade check` job was failing
because `breeze ci upgrade` kept patching hardcoded versions inside
`.github/workflows/*.yml` files. The default `GITHUB_TOKEN` used by the job is
a GitHub App token and **is not permitted** to push changes to workflow files —
GitHub rejected the push with:
> refusing to allow a GitHub App to create or update workflow
`.github/workflows/basic-tests.yml` without `workflows` permission
Rather than introducing a PAT or GitHub App just to patch a string, this PR
removes the reason those workflow files need patching at all. With versions
read from `uv.lock` (which already gets refreshed by `uv lock --upgrade` as
part of the same upgrade run), the scheduled upgrade PR no longer touches any
workflow file and can be created by the standard `GITHUB_TOKEN`.
## Changes
- `.github/actions/breeze/action.yml`,
`.github/actions/install-prek/action.yml` — extract `UV_VERSION` (and
`PREK_VERSION` for install-prek) from `uv.lock` in an early step; removed the
`uv-version` / `prek-version` inputs; cache keys now reference the extracted
step output.
- `.github/workflows/basic-tests.yml` — dropped the `uv-version` workflow
input; each `Install uv` step extracts inline from `uv.lock`.
- `.github/workflows/scheduled-verify-release-calendar.yml`,
`.github/workflows/ci-amd-arm.yml`,
`.github/workflows/update-constraints-on-push.yml` — removed top-level
`UV_VERSION` env vars; inline extraction in the install step where one was used.
- `.github/workflows/release_dockerhub_image.yml` — removed `with:
uv-version: ${{ env.UV_VERSION }}` (the env var was dangling anyway).
- `scripts/ci/prek/upgrade_important_versions.py` — removed the
workflow/action YAML files from `FILES_TO_UPDATE` now that they no longer
contain hardcoded versions to patch.
---
##### Was generative AI tooling used to co-author this PR?
- [X] Yes — Claude Code (Opus 4.6)
Generated-by: Claude Code (Opus 4.6) following [the
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]