The publication run opens the catalogue pull request with the workflow token, and a pull request opened that way triggers no pull_request workflow, so the twelve required checks never arrive and the pull request stays BLOCKED until a hand closes and reopens it. That hand was mine twice tonight, on #164 and #166; the run itself was green both times.
$ gh pr view 166 --json mergeStateStatus,statusCheckRollup --jq '.mergeStateStatus+" checks="+(.statusCheckRollup|length|tostring)'
BLOCKED checks=0
$ gh pr close 166 && gh pr reopen 166
$ gh pr view 166 --json mergeStateStatus --jq .mergeStateStatus
CLEAN
A catalogue that waits for a hand is a catalogue that is stale until somebody notices, which is what the daily run exists to prevent. The run has to produce the checks itself: either it runs the gate legs on the branch it pushed and reports them as check runs on that head with the token it already holds, or it opens the pull request through a route that does trigger the workflows without a second credential in this tree. Done when a catalogue pull request opened by the scheduled run reaches CLEAN with no hand on it, shown by one such run.
The publication run opens the catalogue pull request with the workflow token, and a pull request opened that way triggers no
pull_requestworkflow, so the twelve required checks never arrive and the pull request stays BLOCKED until a hand closes and reopens it. That hand was mine twice tonight, on #164 and #166; the run itself was green both times.A catalogue that waits for a hand is a catalogue that is stale until somebody notices, which is what the daily run exists to prevent. The run has to produce the checks itself: either it runs the gate legs on the branch it pushed and reports them as check runs on that head with the token it already holds, or it opens the pull request through a route that does trigger the workflows without a second credential in this tree. Done when a catalogue pull request opened by the scheduled run reaches CLEAN with no hand on it, shown by one such run.