Skip to content

🐸 Versioned release (next): @varlock/bumpy@1.14.0-rc.x#112

Closed
bumpy-bot wants to merge 1 commit into
nextfrom
bumpy/version-packages-next
Closed

🐸 Versioned release (next): @varlock/bumpy@1.14.0-rc.x#112
bumpy-bot wants to merge 1 commit into
nextfrom
bumpy/version-packages-next

Conversation

@bumpy-bot

@bumpy-bot bumpy-bot commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

bumpy-frog

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:

🔀 Prerelease channel next — merging this PR publishes the versions below to the @next dist-tag.
The diff only moves bump files into .bumpy/next/ — prerelease versions are derived at publish time and never committed. The .x counter is assigned from the registry at publish time.

minor Minor releases

@varlock/bumpy 1.13.2 → 1.14.0-rc.x CHANGELOG.md

  • Add prerelease channels — branch-based prerelease lines (e.g. next@next dist-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-aware version / publish / status / ci release flows, exact-pinned lockstep cycle publishes, and promotion-by-merge to stable. (bump file)
  • Channel release PR titles and bodies now show deterministic versions: targets with a wildcard counter (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 and version output use the same .x wildcard; status / ci plan still show live registry-derived counters (.? when offline). (bump file)
  • ci check now 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)
  • The PR check comment now explicitly calls out promotion PRs (channel → stable): the headline explains that merging ends the prerelease cycle and ships stable, and bump files that already shipped on a channel are annotated with their dist-tag (e.g. next/feature.md (shipped on @next)). (bump file)

Shipped: ci-check-channel-bump-files.md, promotion-pr-comment.md
@bumpy-bot bumpy-bot force-pushed the bumpy/version-packages-next branch from 8ec5542 to 4098eca Compare June 12, 2026 23:33
@theoephraim

Copy link
Copy Markdown
Member

Closing — this cycle's bump files were promoted to main via #110 and are now pending a stable release in #114. A new release PR will be created if more changes land on next. (bumpy will soon do this automatically)

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._
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.

2 participants