ci: add auto-update-pr flywheel workflow - #49
Conversation
✅ Deploy Preview for peaceful-pothos-9e62ce ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
No updates since Nothing is lost — Converting to draft disables auto-merge, so PRs with auto-merge enabled are excluded from this entirely. |
|
No updates since Nothing is lost — Converting to draft disables auto-merge, so PRs with auto-merge enabled are excluded from this entirely. |
|
No updates since Nothing is lost — Converting to draft disables auto-merge, so PRs with auto-merge enabled are excluded from this entirely. |
What
Adds
auto-update-pr.yml— a post-merge "flywheel" workflow.After each merge to
main(plus a 30-min cron backstop and manual dispatch), it:mainthat have auto-merge enabled, oldest first;UNKNOWNcomputation;mergeStateStatus == BEHIND(out of date but otherwise green);PUT /pulls/{n}/update-branch) on that one PR, then stops.Updating retriggers the PR's CI; if it passes, auto-merge merges it, which fires another push to
main, which updates the next stale PR — a self-sustaining flywheel that unblocks auto-merge PRs stuck on being out of date.Why one PR per run
Updating every stale PR at once makes them all up-to-date simultaneously: the first merges, the rest go instantly stale again, and a full CI run is burned on each for nothing. Updating one at a time keeps CI spend proportional to merges.
Notes
PROSOPONATOR_PAT(not the defaultGITHUB_TOKEN) so the branch update is attributed to a real user and therefore retriggers the PR's CI. The default token would not.concurrency: auto-update-pr(no cancel) single-flights runs so simultaneous merges can't double-spend CI.mergeStateStatus == BEHIND, which requires "Require branches to be up to date before merging" to be enabled in branch protection.