mengw15 opened a new issue, #8522:
URL: https://github.com/apache/texera/issues/8522

   ### What happened?
   
   `Backport Approvals` is a required status check on `main` (.asf.yaml), and 
GitHub evaluates the **latest** check run with that name on the head commit. 
The workflow's concurrency group uses `cancel-in-progress: true` 
(`.github/workflows/backport-approval-check.yml`), so when two pull-request 
events land seconds apart, the newer run cancels the older one. The job itself 
finishes in 6-9 seconds, so the older run's "cancelled" terminal state can be 
recorded **after** the newer run's success — the cancelled run is then the 
latest check run, the required check reads as not passing, and the merge button 
is blocked even though a sibling run of the same commit already passed.
   
   This cannot bite the long build workflows (their new run finishes minutes 
after the old one's cancellation, so the success is always the latest state); 
it is specific to second-scale required checks. The check's own verdict was 
never wrong — a PR with no `release/*` label passes trivially — the block comes 
only from the cancelled duplicate.
   
   ### How to reproduce?
   
   Seen on #8516, head `d5bf9af59`:
   1. A push fired a `pull_request` run at 14:59:24 (run 34700864066).
   2. A review-comment reply fired a `pull_request_review` run at 14:59:31 (run 
34700870759), which cancelled the first.
   3. The second run passed in 8s; the first run's cancelled state landed after 
that success. The PR showed `Backport Approvals` as its one non-green required 
check and `mergeStateStatus: BLOCKED`.
   4. Re-running the cancelled run (6s, success) unblocked the merge.
   
   Any pair of close-together events on one commit reproduces it: push + review 
request, push + label, label + label.
   
   ### Version/Branch
   
   main
   
   ### Commit Hash (Optional)
   
   d5bf9af595db0913a5895a16125e4334cb5d46d4 (the blocked head; the workflow 
itself is at main's tip)
   
   ### Relevant log output
   
   ```
   run 34700864066  event=pull_request         created=14:59:24  
conclusion=cancelled
   run 34700870759  event=pull_request_review  created=14:59:31  
conclusion=success (8s)
   gh pr view 8516 --json mergeStateStatus  ->  "BLOCKED"
   ```
   
   Fix: queue instead of cancel (`cancel-in-progress: false`) — every run ends 
with a real conclusion, FIFO order keeps the newest evaluation reporting last, 
and the job runs in seconds so queuing costs nothing.
   


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