vatsrahul1001 opened a new pull request, #74464:
URL: https://github.com/apache/airflow/pull/74464

   ## What
   
   Make `breeze release-management start-rc-process` able to cut **alpha/beta** 
pre-releases (e.g. `3.4.0b1`), which happen before a `vX-Y-stable` branch 
exists.
   
   Today the command hard-requires `vX-Y-stable` for branch validation, the 
sync-PR merge, the tagging-branch check, and constraints resolution. During the 
beta phase that branch does not exist yet (it is created at `X.Y.0rc1`), so 
betas had to be cut by hand.
   
   ## How
   
   - `get_candidate_base_branch(version, version_branch)` returns `vX-Y-stable` 
for an `rc` and `vX-Y-test` for an alpha/beta. It is threaded through 
validation, the sync-PR merge, and the tagging-branch check, so an `rc` behaves 
exactly as before while an alpha/beta uses `vX-Y-test`.
   - Constraints:
     - **rc** → unchanged: triggers the `release-constraints` workflow, 
resolved from the stable branch (the provider rc wave on PyPI must be pinned).
     - **alpha/beta** → tags `constraints-<version>` at the shared 
`constraints-X-Y` branch tip. A beta pins providers at their *released* 
versions from sources that match `main`, so its resolution is already what that 
tip holds — re-running the identical workflow on CI runners would only 
duplicate it. This matches how betas were tagged before the 
`release-constraints` workflow existed (e.g. `constraints-3.3.0b1`).
   
   The `release-constraints` workflow itself is **not** modified, so the `rc` 
and final constraints flows are untouched.
   
   Docs: the beta section of `dev/README_RELEASE_AIRFLOW.md` documents the 
behaviour, including the need to sync `constraints-X-Y` to `constraints-main` 
before cutting, and the merge-yes/push-no step so the beta's notes commit is 
not pushed onto `vX-Y-test` (which would break the fast-forward).
   
   ## Tests
   
   Unit tests for the branch selection, the rc-vs-beta constraints dispatch, 
and the exact git tag/push sequence. `uv run pytest 
dev/breeze/tests/test_release_candidate_command.py` — 18 passed.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Opus 4.8)
   
   Generated-by: Claude Code (Opus 4.8) 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