cloud-fan commented on PR #58579:
URL: https://github.com/apache/spark/pull/58579#issuecomment-6427176610

   I pushed 4f454a7f05b on top of this PR. The conclusion mapping fixes the 
current failure, but the loop over open PRs still lets any single uncaught 
error end the whole scheduled pass, which leaves every later PR unsynced. That 
is how one rejected value stalled the whole job here.
   
   The new commit:
   - Wraps the per-PR check-run listing in a `try/catch`, so a failure skips 
only that PR and it is retried on the next pass.
   - Routes both check-run PATCH calls through an `updateCheckRun` helper that 
logs and records a failure instead of throwing.
   - Records backfill failures too. The backfill already skipped the PR on 
error; it just didn't report it.
   - Calls `core.setFailed` after the full pass if any PR was recorded, naming 
those PRs. A recurring error like this 422 still turns the scheduled run red 
instead of hiding in the log of a green run.
   
   Successful syncs send the same PATCH bodies as before.
   
   Testing: I extracted the script from the YAML and ran it in node against a 
mocked GitHub API whose PATCH rejects invalid values with a 422, like the real 
endpoint. I injected a 502 on one PR's check-run listing, a 422 on another's 
PATCH, and a 500 on a third's backfill. The script synced every other PR, 
including the one after all three failures, then failed the step naming just 
those three. With no injected failures it sent the same PATCHes as the previous 
head and did not fail the step. I did not run it against live data.
   
   Feel free to adjust or drop the commit if you'd rather keep this PR to the 
mapping alone.
   


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to