🐸 Versioned release (next): @varlock/bumpy@1.14.0-rc.x#112
Closed
bumpy-bot wants to merge 1 commit into
Closed
Conversation
Shipped: ci-check-channel-bump-files.md, promotion-pr-comment.md
8ec5542 to
4098eca
Compare
Member
theoephraim
added a commit
that referenced
this pull request
Jun 13, 2026
Dogfood finding from the first promotion: after merging [#110](#110), the channel release PR [#112](#112) lingered open, offering to publish another rc of a cycle that had already moved to its stable release ([#114](#114)). I closed it manually; this makes bumpy do it. **When:** as part of creating/updating the destination's version PR — - stable version PR on main whose plan includes channel-dir bump files (promotion), and - channel release PR creation that moved files from *other* channels (graduation, e.g. `alpha` → `beta`). **What:** for each promoted source channel, look up an open PR on its `versionPr.branch` head and close it with a comment explaining why, noting a fresh release PR appears if more work lands on the channel. Failures are warn-only — a lingering PR is annoying, not dangerous. The current channel's own PR is explicitly never touched. Targeting `main` (rather than `next`) deliberately: this path executes via the published bumpy in the release workflow, so shipping it in 1.14.0 activates it for the next cycle's promotion — and `next` is due for its post-promotion reset anyway. The bump file will fold into [#114](#114). Docs updated in the promotion section. 297 tests pass. --- **Update — race fix (b13e94d):** the first cut closed the source channel's release PR whenever its bump files were *pending* on the destination, but promoted files stay pending until the destination's version/release PR merges (potentially days). If a user started a fresh `next` cycle in that window, an unrelated merge to `main` would close its legitimate release PR — then the next push to `next` recreates it, and the cycle repeats (close → recreate ping-pong). Now the close is gated on the **triggering push** actually adding files under `.bumpy/<channel>/` (its `before..after` range — the same detection the channel publish trigger uses), so it fires exactly once, on the promotion/graduation merge itself. Moved both call sites to after the checkout-back so the non-CI fallback (`HEAD^..HEAD`) diffs the triggering commit from the right branch. _Thanks to @theoephraim for spotting the restarted-cycle race._
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.
This PR was created and will be kept in sync by bumpy based on your bump files (in
.bumpy/). Merge it when you are ready to release the packages listed below:@varlock/bumpy1.13.2 → 1.14.0-rc.x CHANGELOG.mdnext→@nextdist-tag) where prerelease versions are never committed to git. Targets derive from bump files, counters from the registry; shipped bump files are tracked by moving them into.bumpy/<channel>/. Includes channel-awareversion/publish/status/ci releaseflows, exact-pinned lockstep cycle publishes, and promotion-by-merge to stable. (bump file)1.2.0-rc.x) derived purely from committed state, instead of registry-derived counters that could drift between PR creation and publish. Multi-package cycles show a package count in the title instead of an arbitrary lead package. The PR check comment andversionoutput use the same.xwildcard;status/ci planstill show live registry-derived counters (.?when offline). (bump file)ci checknow reads bump files in channel directories, so promotion PRs (channel → main) and graduation PRs (channel → channel) correctly report the cycle's pending releases instead of failing with "no bump files found". Channel-dir bump files render with their subdir path (next/feature.md) so view/edit links resolve. (bump file)next/feature.md(shipped on@next)). (bump file)