ci: recover a merged-but-untagged bump instead of double-bumping - #194
Merged
Conversation
When the merge-wait times out and the bump PR merges later, the version files end up ahead of the last release tag with no tag to trigger the publish. Re-running the job in that state re-runs cz against the bumped version files and opens a spurious next-version PR. The bump now checks for that state first and pushes the missing tag at the merged bump commit instead.
The workflows app is on the ruleset bypass list, but auto-merge never exercises bypass; it only fires when every requirement, including the required review, is actually satisfied. Once the bump PR checks are green the script now merges it explicitly, which the bypass permits. Auto-merge stays armed as the fallback when a direct merge is refused.
mnoble
approved these changes
Jul 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Two fixes making the bump pipeline self-sufficient under the require-review ruleset:
1. Merge the bump PR directly as the bypass actor. The workflows app is on the ruleset bypass list, but the script armed auto-merge and waited, and auto-merge never exercises bypass: it only fires when every requirement (including the required review) is actually satisfied. Once checks are green the script now merges explicitly, which the bypass permits. Auto-merge stays armed as the fallback if a direct merge is refused (capped at 3 attempts).
2. Recover a merged-but-untagged bump instead of double-bumping. When the merge-wait times out and the bump PR merges later by hand, the version files end up ahead of the last release tag with nothing to trigger the publish, and re-running the job re-runs cz against the bumped files and opens a spurious next-version PR (#193 was this). The bump now checks for that state first and pushes the missing tag at the merged bump commit.
Together: releases merge themselves again, and if anything still strands one, a re-run recovers it instead of making it worse.
Verified against live state: the recovery check is a no-op with 0.21.0 tagged, the bump-commit lookup resolves
bump: keycardai-oauth → 0.21.0to #192's squash SHA, andchecks_greenunit cases pass. Twin PR: typescript-sdk#122.🤖 Generated with Claude Code