review classifier: retry a review post that failed to reach the store or forge
A review request's verdict was lost when the post failed: on 2026-10-14 the classifier approved #5286, but its post hit swarm-bao mid-restart (cert login: connection refused), the run was recorded post-failed, and nothing on the PR showed it. post() now tries the post up to four times, waiting 5s, 15s and 45s, when it fails because the connection to the secret store or the forge failed or timed out. Any other error fails at once, as before. The verdict is computed once and reposted as is. All tries share the one forge deadline the single post had, and the warn log carries the number of tries.
This commit is contained in:
parent
85860d544d
commit
2e53e46d94
2 changed files with 202 additions and 3 deletions
|
|
@ -84,6 +84,13 @@ as a reviewer on a PR starts a run:
|
|||
4. The controller posts the result on the PR as the service account's
|
||||
review, on the commit it read.
|
||||
|
||||
When a post can't reach the secret store or the forge, because the
|
||||
connection fails or times out, the controller tries it up to four times over
|
||||
about a minute with the same verdict. It doesn't retry any other failure,
|
||||
such as the forge refusing the review. A post that still fails ends the run
|
||||
as `post-failed`, and nothing appears on the PR; request the review again to
|
||||
start a fresh run.
|
||||
|
||||
A verdict belongs to the commit it ran on. A push starts no run. Once the
|
||||
PR's head moves, requesting the service account as a reviewer again starts a
|
||||
fresh run on the new head.
|
||||
|
|
|
|||
Loading…
Reference in a new issue