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

   ### What changes were proposed in this PR?
   
   `direct-backport-push.yml` resolved exactly one PR per push event — from 
`head_commit.message`, falling back to `commits/{context.sha}/pulls`. When 
several auto-merges land on `main` in a single ref update, only the head commit 
was examined and the `release/*` labels on every other PR in the same push were 
silently dropped: no run, no commit status, no failure comment. An audit of 
2026-06-01 → 2026-07-04 found 2 of 43 labeled PRs lost this way (#5802, 
coalesced behind #5812; and #6111, coalesced behind #6112).
   
   Changes to the `discover` job:
   - Enumerate **all** commits in the push via 
`compareCommits(payload.before...context.sha)` (oldest first), falling back to 
the head commit if the compare fails or `before` is unavailable.
   - Resolve a PR per commit (same two strategies as before: `(#N)` title 
suffix, then `commits/{sha}/pulls` with backoff) and collect green `release/*` 
targets per PR.
   - Output one matrix entry per `(pr_number, merge_sha, target)` pair instead 
of a single PR + target list.
   
   Changes to the `push-backports` job:
   - Matrix is now `include: <entries>` with `max-parallel: 1`, so cherry-picks 
apply in commit order and two legs never race pushes to the same release branch.
   - `MERGE_SHA`/`PR_NUMBER` come from the matrix entry instead of 
`github.sha`/a single discover output; the cherry-pick, commit statuses, and PR 
comments all annotate the right commit and PR.
   - Job legs are named `backport #<pr> to <target>`; the failure-annotation 
job-URL matcher was updated accordingly.
   
   ### Any related issues, documentation, discussions?
   
   Closes #6119
   
   ### How was this PR tested?
   
   - YAML parses (PyYAML) and all three embedded `github-script` blocks pass 
`node --check`.
   - Dry-ran the new discover logic (read-only API calls) against the two 
historical coalesced pushes: the 2026-07-04 push (`5c4a963f7...9cd8acfbb`) 
yields entries for **both** #6111 and #6112 with green targets, and the 
2026-06-20 push range yields #5802 while correctly skipping the unlabeled 
#5809/#5811/#5812. The old logic produced only the head PR in each case.
   - Note: this fix is not retroactive — #5802 and #6111 still need manual 
backporting to `release/v1.2`.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Claude Fable 5)


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