review classifier: a request for a moved head reviews the PR's current head
A request whose head the PR has moved on from was dropped without a word. It now runs on the current head, as before the queue. The re-post shortcut, keyed on the request's head, applies only while the PR is still at that head, so a moved PR never re-posts an old head's verdict.
This commit is contained in:
parent
efbcc3dce6
commit
5ebec6d09b
2 changed files with 51 additions and 33 deletions
|
|
@ -130,9 +130,9 @@ minute, and the controller that's running then reviews it. A restart
|
|||
therefore repeats a run that was going. When it can't queue a request, the
|
||||
account posts a `**No verdict:**` comment saying so.
|
||||
|
||||
When the controller takes a request, it reads the PR first. It drops a
|
||||
request whose head is no longer the PR's head, and posts and records nothing
|
||||
for it.
|
||||
When the controller takes a request, it reads the PR first. A request whose
|
||||
head is no longer the PR's head runs on the PR's current head, and never
|
||||
re-posts the old head's recorded verdict.
|
||||
A request for a PR whose review is still going waits in the queue until that
|
||||
review ends, so a PR never has two runs at once. A request that re-posts an
|
||||
earlier verdict waits for a run place too, and frees it before it posts.
|
||||
|
|
@ -587,8 +587,7 @@ classifier's reply arrives, a requested review once the controller has posted
|
|||
its review or the post has failed, and a request the controller couldn't queue
|
||||
once its comment is on the forge or the post has failed. The controller records a
|
||||
re-posted verdict the same way, with the outcome and answer of the run it
|
||||
repeats and that run's id in its `detail`. A dropped request, whose head the
|
||||
PR has moved on from, isn't recorded. A run still going isn't in the list; a
|
||||
repeats and that run's id in its `detail`. A run still going isn't in the list; a
|
||||
controller restart stops it, and the queue hands its request back.
|
||||
|
||||
The newest 100 runs are one JSON array under the key `recent` in the
|
||||
|
|
|
|||
Loading…
Reference in a new issue