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]

Reply via email to