The autoupdate pull_request trigger (added in #260) fires on the default event set — including synchronize — so every commit push to any open PR triggers a rebase-of-all-PRs (PR_FILTER: all), each re-running the full multi-API E2E matrix. With many concurrent PRs this storms the GitHub Actions runners (observed 2026-07-03; the workflow is currently disabled to relieve it). Repo owner confirmed tightening the trigger, and explicitly requires that draft PRs still get updated.
(PR_READY_STATE: all is the action default, but set it explicitly so drafts are guaranteed updated.)
Why drafts still get updated (dropping synchronize does NOT exclude them)
push: [main] rebases ALL behind PRs incl. drafts whenever main advances (PR_FILTER: all + PR_READY_STATE: all) — this is the case that matters, since a PR goes stale when main moves.
opened catches a draft opened while already behind.
synchronize was only firing on per-commit pushes to a PR — a PR getting a new commit doesn't make it behind main, so removing it doesn't leave drafts (or any PR) stale.
Sequencing
Workflow is currently disabled. Apply this tightening and merge it BEFORE re-enabling so autoupdate comes back storm-safe. Re-enable (gh workflow enable autoupdate.yml) only once the in-flight test/coverage PRs clear (per repo owner). Do the change/merge when runners are free — NOT during the current crunch — so this PR's own CI doesn't add to it.
Definition of done
Workflow-only change: valid YAML (actionlint green) + correct trigger/filter. Validated post-re-enable by observing that draft + behind PRs get updated without a per-commit rebase storm.
## Context
The autoupdate `pull_request` trigger (added in #260) fires on the default event set — including **`synchronize`** — so every commit push to *any* open PR triggers a rebase-of-all-PRs (`PR_FILTER: all`), each re-running the full multi-API E2E matrix. With many concurrent PRs this **storms the GitHub Actions runners** (observed 2026-07-03; the workflow is currently **disabled** to relieve it). Repo owner confirmed tightening the trigger, and explicitly requires that **draft PRs still get updated**.
## Change (`.github/workflows/autoupdate.yml`)
1. Drop `synchronize` — narrow the trigger to:
```yaml
pull_request:
types: [opened, reopened, ready_for_review]
branches: [main]
```
2. Explicitly keep **draft PRs** in scope by pinning the action's ready-state filter:
```yaml
env:
GITHUB_TOKEN: ${{ secrets.AUTOUPDATE_TOKEN || secrets.GITHUB_TOKEN }}
PR_FILTER: "all"
PR_READY_STATE: "all"
MERGE_CONFLICT_ACTION: "ignore"
```
(`PR_READY_STATE: all` is the action default, but set it explicitly so drafts are guaranteed updated.)
## Why drafts still get updated (dropping `synchronize` does NOT exclude them)
- **`push: [main]`** rebases ALL behind PRs incl. drafts whenever main advances (`PR_FILTER: all` + `PR_READY_STATE: all`) — this is the case that matters, since a PR goes stale when *main* moves.
- **`opened`** catches a draft opened while already behind.
- `synchronize` was only firing on per-commit pushes to a PR — a PR getting a new commit doesn't make it behind main, so removing it doesn't leave drafts (or any PR) stale.
## Sequencing
Workflow is currently disabled. **Apply this tightening and merge it BEFORE re-enabling** so autoupdate comes back storm-safe. Re-enable (`gh workflow enable autoupdate.yml`) only once the in-flight test/coverage PRs clear (per repo owner). Do the change/merge when runners are free — NOT during the current crunch — so this PR's own CI doesn't add to it.
## Definition of done
Workflow-only change: valid YAML (actionlint green) + correct trigger/filter. Validated post-re-enable by observing that draft + behind PRs get updated without a per-commit rebase storm.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Context
The autoupdate
pull_requesttrigger (added in #260) fires on the default event set — includingsynchronize— so every commit push to any open PR triggers a rebase-of-all-PRs (PR_FILTER: all), each re-running the full multi-API E2E matrix. With many concurrent PRs this storms the GitHub Actions runners (observed 2026-07-03; the workflow is currently disabled to relieve it). Repo owner confirmed tightening the trigger, and explicitly requires that draft PRs still get updated.Change (
.github/workflows/autoupdate.yml)synchronize— narrow the trigger to:(
PR_READY_STATE: allis the action default, but set it explicitly so drafts are guaranteed updated.)Why drafts still get updated (dropping
synchronizedoes NOT exclude them)push: [main]rebases ALL behind PRs incl. drafts whenever main advances (PR_FILTER: all+PR_READY_STATE: all) — this is the case that matters, since a PR goes stale when main moves.openedcatches a draft opened while already behind.synchronizewas only firing on per-commit pushes to a PR — a PR getting a new commit doesn't make it behind main, so removing it doesn't leave drafts (or any PR) stale.Sequencing
Workflow is currently disabled. Apply this tightening and merge it BEFORE re-enabling so autoupdate comes back storm-safe. Re-enable (
gh workflow enable autoupdate.yml) only once the in-flight test/coverage PRs clear (per repo owner). Do the change/merge when runners are free — NOT during the current crunch — so this PR's own CI doesn't add to it.Definition of done
Workflow-only change: valid YAML (actionlint green) + correct trigger/filter. Validated post-re-enable by observing that draft + behind PRs get updated without a per-commit rebase storm.