You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Release gate: a merged standing PR carrying release:immediate is released twice #792
In standing-pr mode the release gate (packages/release/src/gate/evaluate-pr.ts) treats any merged PR that carries release:immediate as an immediate release. That includes the standing PR itself. If someone adds the label to the standing PR and merges it, releasekit release re-versions and publishes the same changes that standing-pr publish is publishing from the manifest, so the release is published twice or double-bumped.
#753 adds a workflow guard to the template, example and ci-setup snippet (github.event.pull_request.head.ref != 'release/next'). AGENTS.md says such guards hardcode defaults and the in-step checks are authoritative. Nothing in-step backs this one up, so the double publish still happens with:
a renamed ci.standingPr.branch;
a workflow that doesn't copy the guard, including one built on the reusable action.
Fix
Have the gate refuse the immediate path when the merged PR's head branch is ci.standingPr.branch, with a reason such as "the standing release PR publishes from its manifest; release:immediate doesn't apply to it".
The gate only has PR numbers today (findMergedPRsSinceLastRelease, then fetchPRLabels), so it needs the head ref. PullRequestDetails or AssociatedPullRequest can carry it.
Test through releasekit gate and releasekit release with a merged standing PR that carries the label.
Activity