Skip to content

fix(tooling): keep update pull requests open across reruns - #56

Merged
WillieCubed merged 2 commits into
mainfrom
fix/propose-reruns
Sep 28, 2026
Merged

WillieCubed merged 2 commits into
mainfrom
fix/propose-reruns

Conversation

@WillieCubed

Copy link
Copy Markdown
Contributor

TL;DR

A maintainer can rerun the release script safely, and a repository that can't run Validate on its
update pull request now says why. This patch release is also the first to reach repositories
through their own Standard update workflow.

Overview of Changes

What went wrong in the v0.5.0 rollout

Rolling v0.5.0 out to the website, I reran standards/propose.ts from a checkout still on the
update branch. The script decided "this repository already matches v0.5.0" from that checkout and
closed the update pull request it had just opened. The next run then failed to push, because the
local clone still had a tracking ref for the branch GitHub had deleted, so --force-with-lease
refused. Neither affects the daily workflow, which always starts from a fresh main, but both made
the maintainer script unsafe to rerun.

The fix

An unchanged run now reads the vendored release from the default branch on GitHub and closes a
same-release pull request only when that branch already carries the release. When the update branch
is missing on GitHub, the script drops any leftover tracking ref before pushing. When ci.yml has
no workflow_dispatch trigger, the run opens its pull request, prints what to add, and fails,
instead of stopping partway with a bare error.

Testing

pnpm check passes. New tests drive proposeRelease through a recording fake runner. They check
that a same-release pull request stays open while the default branch is behind, and closes once the
branch carries the release. They also check that the stale ref is removed before the push, that a
patch update turns on auto-merge, and that a failed dispatch sets the exit code without throwing.

Follow-ups

  • After tagging, run Standard update in labs by hand to watch the first pull request opened with a
    workflow's own token merge itself, then let the daily runs reach the other repositories.

🤖 Generated with Claude Code

WillieCubed and others added 2 commits September 28, 2026 09:55
Rerunning the maintainer script from a checkout still on the update
branch closed that branch's own pull request, because it judged
"already current" from the checkout instead of the default branch. A
tracking ref left from a branch GitHub had deleted also made the next
push fail its lease.

An unchanged run now closes a same-release pull request only when the
default branch on GitHub already vendors that release, a missing remote
branch drops its stale tracking ref before the push, and a repository
whose ci.yml cannot be dispatched gets a clear message and a failed run
instead of an unexplained crash.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Publish fixes to the maintainer script that proposes a release
as a patch release of the shared web standard.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@WillieCubed
WillieCubed merged commit aeefde1 into main Sep 28, 2026
1 check passed
@WillieCubed
WillieCubed deleted the fix/propose-reruns branch September 28, 2026 17:02
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