feat: add changes Rust CLI for release process management#7837
Draft
Copilot wants to merge 3 commits into
Draft
Conversation
|
- changes add – create changesets interactively or with flags - changes version – apply changesets, bump versions, update changelogs - changes publish – publish to npm, create git tags and GitHub releases - changes release – create release branch + PR (supports cherry-picks) - changes status – show pending changesets and version bumps GitHub Actions: - changes-prepare-release.yml – weekly release branch + PR workflow - changes-publish.yml – publish on release PR merge Updates .gitignore to exclude changes/target/ Co-authored-by: joshblack <3901764+joshblack@users.noreply.github.com>
- versioning: fix off-by-one in changelog section insertion - workspace: use 2-space JSON indentation via custom serde formatter - publish: remove duplicate tag_name computation in publish loop - changeset: capture SystemTime::now() once to avoid race condition in ID generation Co-authored-by: joshblack <3901764+joshblack@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add CLI tool for managing release process
feat: add May 13, 2026
changes Rust CLI for release process management
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.
Introduces
changes, a Rust CLI inchanges/that owns the full release lifecycle for packages in this monorepo — creating changesets, versioning, publishing to npm, and coordinating release branches via GitHub Actions.CLI (
changes/)Five subcommands, all supporting
--packageto scope to individual packages or sets:changes add.changeset/<id>.mdfile — interactive (prompts) or fully non-interactive via flagschanges versionpackage.jsonversions, updateCHANGELOG.md, remove consumed changeset fileschanges publishname@version), create autogenerated GitHub releases viaghchanges releaserelease/YYYY-MM-DDbranch, optionally cherry-pick commits, run versioning, commit + push, open PR tomainchanges statusGitHub Actions
changes-prepare-release.yml— Runs weekly (Monday 10:00 UTC) or viaworkflow_dispatch. Acceptspackages,date,cherry_picks, anddry_runinputs. Callschanges releaseto create the branch and open the PR.changes-publish.yml— Triggers on merge of anyrelease/*PR intomain, or manually for on-demand publishes. Builds packages then callschanges publish.Changelog
New
changes/— Rust binary withadd,version,publish,release, andstatussubcommands.github/workflows/changes-prepare-release.yml— weekly scheduled release branch + PR workflow.github/workflows/changes-publish.yml— publish-on-merge workflow forrelease/*PRsChanged
.gitignore— excludeschanges/target/(Rust build artifacts)Removed
Rollout strategy
Testing & Reviewing
Build and run locally:
The
--dry-runflag on bothreleaseandpublishlets you verify the full flow without creating branches, pushing tags, or calling npm.Merge checklist
Original prompt
Created from Copilot CLI via the copilot delegate command.