Skip to content

Release gate: a merged standing PR carrying release:immediate is released twice #792

Open

Description

@goosewobbler

Problem

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

  1. added this to the 0.43.0 milestone on Oct 24, 2026
  2. added
    type:bugSomething isn't working
    status:agent-readyDefined and ready for an autonomous (AFK) agent to pick up
    and removed
    status:agent-readyDefined and ready for an autonomous (AFK) agent to pick up
    on Oct 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    status:wipWork in progresstype:bugSomething isn't working

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions