Skip to content

ci: add auto-update-pr flywheel workflow#49

Open
goastler wants to merge 2 commits into
mainfrom
ci/auto-update-pr-flywheel
Open

ci: add auto-update-pr flywheel workflow#49
goastler wants to merge 2 commits into
mainfrom
ci/auto-update-pr-flywheel

Conversation

@goastler

Copy link
Copy Markdown
Member

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:

  • lists open, non-draft PRs targeting main that have auto-merge enabled, oldest first;
  • polls each PR's merge state, waiting out GitHub's lazy UNKNOWN computation;
  • selects the first PR that is conflict-free and mergeStateStatus == BEHIND (out of date but otherwise green);
  • presses the Update branch button (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

  • Uses PROSOPONATOR_PAT (not the default GITHUB_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.
  • Relies on mergeStateStatus == BEHIND, which requires "Require branches to be up to date before merging" to be enabled in branch protection.

@netlify

netlify Bot commented Jun 23, 2026

Copy link
Copy Markdown

Deploy Preview for peaceful-pothos-9e62ce ready!

Name Link
🔨 Latest commit 456d459
🔍 Latest deploy log https://app.netlify.com/projects/peaceful-pothos-9e62ce/deploys/6a3b1dab627df600085fa4ef
😎 Deploy Preview https://deploy-preview-49--peaceful-pothos-9e62ce.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant