Yicong-Huang opened a new pull request, #4598: URL: https://github.com/apache/texera/pull/4598
Closes #4580 ## Summary This PR adds release-branch backport automation driven by `release/*` labels on PRs. It introduces: - PR-time backport compatibility checks that cherry-pick the PR-only commit range onto each labeled `release/*` target branch and run CI on that checkout - a reusable build workflow shared by normal CI and backport CI - post-merge automation that looks for successful backport checks and directly cherry-picks the merged change onto the labeled release branch - contributor docs for the release-label workflow ## Behavior - Add one or more labels such as `release/v1.1.0-incubating` to a PR. - The `Backport Compatibility` workflow creates one CI matrix per labeled release branch. - Each matrix job starts from the target release branch, cherry-picks the PR-only commit range, and runs the build/test jobs there. - After the PR is squash-merged to `main`, `Direct Backport Push` rechecks the corresponding `Backport CI (...)` result and pushes the cherry-pick to each passing target branch. - If cherry-pick conflicts occur, the backport CI fails before the post-merge workflow can push. ## Testing Fork workflow validation: - End-to-end workflow shakeout PR: [Yicong-Huang/texera#5](https://github.com/Yicong-Huang/texera/pull/5) - Representative successful backport workflow run after portability fixes: [Backport Compatibility run 25204255741](https://github.com/Yicong-Huang/texera/actions/runs/25204255741) Behind-release-branch scenarios: - Clean cherry-pick scenario PR: [Yicong-Huang/texera#8](https://github.com/Yicong-Huang/texera/pull/8) - Conflict scenario PR: [Yicong-Huang/texera#9](https://github.com/Yicong-Huang/texera/pull/9) - GitHub workflow runs are queued on the fork: - clean: [run 25204498813](https://github.com/Yicong-Huang/texera/actions/runs/25204498813) - conflict: [run 25204498789](https://github.com/Yicong-Huang/texera/actions/runs/25204498789) Local equivalence checks against those two scenarios: - clean scenario: target `release/behind-clean` was 19 commits behind the PR base branch and cherry-pick succeeded cleanly - conflict scenario: target `release/conflict-addadd` was also behind the PR base branch and cherry-pick failed with an expected `add/add` conflict on `.codex-backport/conflict.txt` -- 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]
