Yicong-Huang opened a new pull request, #6941:
URL: https://github.com/apache/texera/pull/6941

   ### What changes were proposed in this PR?
   
   Overhauls the release-backport lifecycle so it stops depending on people 
remembering. Two long-standing gaps: fix authors/committers forget to request a 
backport, and when a backport conflicts the only trace is a PR comment that 
gets forgotten.
   
   - **`.github/release-branches.yml`** — single source of truth mapping each 
active release branch to its release manager (`release/v1.2` → `xuang7`, 
`release/v1.1` → `bobbai00`), parsed by a stdlib-only helper 
(`release_branches.py`).
   - **`backport-auto-label`** (new) — when a `fix:` PR into `main` opens, it 
labels the PR with every configured `release/*` target and requests review from 
that branch's release manager. Backporting becomes **opt-out**: remove the 
label to decline. A removal is remembered via the timeline, so a later 
title/body edit never silently re-adds a label the author took off.
   - **`required-checks`** — the pre-merge backport is split into a fast, 
git-only **apply-check** that gates the expensive build matrix (a conflicting 
target no longer spins up the full stacks), and `backport` is **removed from 
the Required Checks aggregator** so a red backport is advisory, not a merge 
gate.
   - **`direct-backport-push`** — post-merge, each target is classified from 
the apply-check/build signal: **green** cherry-picks straight to the release 
branch (unchanged); **red** (conflict, or applies-but-won't-build) auto-opens a 
**draft** backport PR titled `fix(scope, vX.Y): …` on 
`backport/<PR>-<slug>-<target>`, with the conflicted tree committed, assigned 
to the original author and the release manager as reviewer.
   
   Note: a red apply-check now shows as a (non-blocking) red check on the PR — 
that is the intended "this will need a manual backport" signal, not a merge 
blocker.
   
   ### Any related issues, documentation, discussions?
   
   Resolves #6940.
   
   ### How was this PR tested?
   
   - Validated all workflows with `actionlint`; YAML parses; every 
`github-script` block passes `node --check` (async-wrapped).
   - Unit-tested the parser (`release_branches.py`), the branch-slug 
derivation, and the `fix(scope, vX.Y)` title injection against representative 
subjects.
   - CI-orchestration paths (apply-check gating, green push vs. red auto-PR) 
need a dry-run on a release-label test branch in Actions — they can't be 
exercised locally.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Claude Opus 4.8)
   


-- 
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