1.7 KiB
name, description
| name | description |
|---|---|
| babysit-stack | Watch a stack of PRs, addressing test failures and responding to comments, until the stack is fully green. |
Babysit Stack
Input
- Accept input as a jj revset. If not given, use
stack.
Workflow
In a loop, do the following:
-
Compare each local commit message with the corresponding PR's title & description. If any information has been added to the local commit message, determine whether it belongs in the PR description (following the PR description guidance) — if so, add it there. Then, reconcile the PR's title with the commit's summary line (following the PR title guidance). Finally, reduce the commit message to the summary line only (this makes it clear that the PR description is the source of truth) plus the PR number in parentheses "(#12345)".
-
If any of the PRs have not already had Claude review requested, comment with "@claude review" to request it.
-
Use the handle-pr-feedback skill to handle comments on the PRs in the stack.
-
Check CI for each PR in the stack. Consider only the most recent run per check. If the
require-tests-pre-mergejob (braidrepo only) has a failure, add thepr/force-cilabel to the PR to resolve (and move to the next PR for now since adding the label will trigger tests to run, which will take a while). If a job is failing due to a missing ticket number in the PR title, leave it failing — there is a separate automated job which will eventually link a ticket. -
If there are legitimate failures, investigate and fix.
-
If any changes were made in the earlier steps, push the changes using
jfd(Graphite repos) orjj git push -c stack(non-Graphite repos). -
Exit when: no new unhandled review comments and CI jobs have succeeded on all the PRs.