nisse-review: a new head's review waits for its CI
A review judges the CI result (R1), so a new head's review now waits while its checks are pending, and starts once they finish, passed or failed. It also keeps reviews off a GPU that CI is using: #154's first review ran beside CI's end-to-end job and took about 30 minutes. - Pending: waits up to tuning.review.ci_wait_s (1 h), then reviews anyway. - No checks: waits tuning.review.ci_grace_s (2 min) for them to appear, then reviews. - A PR waiting on CI holds up no other: the oldest settled one goes first. - The head's first sighting is kept on the item (seen_at). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J5Utyfzw7gF7UhjRDEtjTk
This commit is contained in:
1 parent
3283f9540d
commit
be5ea5f170
8 files changed
+134
-6
No files matched your search
@@ -888,7 +888,9 @@ else) towards better changes.
|
||||
- **A work item per PR,** scoped to its repository (L1). It closes when the PR
|
||||
merges or closes.
|
||||
- **What starts a run:** the PR becoming ready, a new push, or a new comment or
|
||||
review on it.
|
||||
review on it. A new head's review waits for its checks to finish (passed or
|
||||
failed), so it is judged with the CI result and stays off a GPU that CI is
|
||||
using; up to a tuning limit, and not at all where there is no CI.
|
||||
- **The first review** is given the PR (title, description, its commits and diff,
|
||||
its comments, and the issue it closes); the reviewer reads the rest as it needs
|
||||
it (R3).
|
||||
|
||||
@@ -638,3 +638,25 @@ reads file by file.
|
||||
|
||||
Failed review runs on one PR, at one head, before the reviewer says on the PR
|
||||
that it couldn't review it, and stops trying until the next push.
|
||||
|
||||
### `tuning.review.ci_wait_s` — default 3600
|
||||
|
||||
How long a new head's review waits while its checks are pending. A review
|
||||
judges the CI result (R1), and waiting keeps it off a GPU that CI is using
|
||||
(the `nisse` project's end-to-end tests). Finished checks, passed or failed,
|
||||
end the wait; after this long it reviews anyway and the CI result reads as
|
||||
pending.
|
||||
|
||||
- **Too low:** reviews run beside CI, slower on a shared GPU, without its result.
|
||||
- **Too high:** a stuck runner delays reviews that long.
|
||||
- **Deciding:** a little longer than the repository's slowest CI run (the full
|
||||
end-to-end suite takes 25 minutes or more).
|
||||
|
||||
### `tuning.review.ci_grace_s` — default 120
|
||||
|
||||
How long a new head with no checks at all waits for some to appear: Gitea
|
||||
Actions reports a push's checks a moment after it. Past this, a repository
|
||||
without CI is reviewed at once.
|
||||
|
||||
- **Too low:** a review starts before CI has reported, and runs beside it.
|
||||
- **Too high:** repositories without CI wait that long for every review.
|
||||
Reference in new issue
Block a user