[Improve] Version PRs bump only the root version instead of touching 30 files - #156
Merged
Merged
Conversation
…lves Replace changesets/action and the fixed lockstep group with a small in-repo version flow: apply-version.mjs bumps the root version, prepends the CHANGELOG section, and deletes consumed changesets; the Release workflow rebuilds the Version PR branch idempotently and closes it when no changesets remain. Version PRs now touch package.json + CHANGELOG.md instead of 30 files, and the 27 stub package changelogs are gone.
Contributor
Author
|
Re-review complete. No new code issues; the only new commit is a pure formatting reflow, and both earlier items stay resolved. See task The
|
…rop stale fixed-group docstring
mrubens
marked this pull request as ready for review
July 11, 2026 01:01
mrubens
requested review from
brunobergher,
daniel-lxs and
mrubens
as code owners
July 11, 2026 01:01
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 changed
Version PRs like #153 touched 30 files (27 lockstep workspace
package.jsonbumps + root changes) plus the repo carried 27 stub per-packageCHANGELOG.mdfiles that existed only to keepchangesets/actionfrom crashing. This PR makes the release flow match reality — Roomote has exactly one product version, the rootpackage.jsonfield:scripts/release/apply-version.mjs(backed byapplyProductVersion/buildChangelogSectioninscripts/release/lib.mjs, both unit-tested) bumps the root version by the highest pending changeset level, prepends the release section to the rootCHANGELOG.md, and deletes the consumed.changeset/*.mdfiles.pnpm run versionis now just that script.changesets/actionis gone. The Release workflow's version job rebuilds thechangeset-release/developbranch from the live develop tip on every run (single fresh commit, force-push), opens or refreshes aRelease Roomote {version}PR with the changelog section in the body, closes the PR and deletes the branch when no changesets remain, and exits cleanly when pending changesets carry no valid bump (e.g. an empty changeset).aggregate-changelog.mjs(logic folded into lib),sync-root-version.mjs, andensure-package-changelogs.mjs. Workspacepackage.jsonversions stay frozen at 0.0.3 forever — they're private, referenced viaworkspace:*, and nothing at runtime reads them..changeset/config.json'sfixedgroup is emptied — changesets are an authoring format only now (any@roomote/*selection just carries the bump level), so new workspace packages no longer need to be appended to a list.pnpm changesetauthoring is unchanged..changeset/README.mdandCONTRIBUTING.md.Why this change was made
Changesets is package-publishing tooling; routing one product version through a fixed group of 27 private packages made every release a 30-file diff and required stub changelogs purely as action-crash insurance. Owning the ~90-line version script removes the whole tax and the action's PR-management quirks (which contributed to the #144 zombie Version PR).
Impact
package.jsonbump, theCHANGELOG.mdsection, and the consumed changeset deletions — nothing else.release/v*cut still keys off the root-package.jsonbump commit (find-version-commit.mjs), which the new Version PR still produces as a single squash commit.package.json+CHANGELOG.mdmodified, 0.0.3 → 0.0.4, changeset consumed), 9 passing release-script tests, lint, check-types, knip, YAML parse, andbash -non the new workflow step.Related PRs