Skip to content

chore: migrate Changesets to v3 - #8288

Open
joshblack wants to merge 1 commit into
mainfrom
migrate-changesets-v3
Open

chore: migrate Changesets to v3#8288
joshblack wants to merge 1 commit into
mainfrom
migrate-changesets-v3

Conversation

@joshblack

Copy link
Copy Markdown
Member

This PR updates our Changesets tooling from v2 to v3 following the upstream migration guide. It also updates the release workflow to use changesets/action v2 and preserves our existing private package versioning behavior.

Changelog

New

None.

Changed

  • Update @changesets/cli to v3 and @changesets/changelog-github to v1.
  • Update the Changesets config schema to v4 and explicitly preserve private package versioning without tags.
  • Update the release workflow to changesets/action v2 and migrate its renamed inputs.
  • Update the root Node.js and npm engine requirements to match Changesets v3.

Removed

None.

Rollout strategy

  • Patch release
  • Minor release
  • Major release; if selected, include a written rollout or migration plan
  • None; this updates our internal release workflow and has no public-facing impact.

Testing & Reviewing

  • Confirm npx changeset status reports the same packages as before the migration.
  • Confirm a clean npm install resolves Changesets v3 from the updated lockfile.
  • Review the changesets/action v2 input migration and GitHub App token wiring in the release workflow.

@joshblack
joshblack requested a review from a team as a code owner August 11, 2026 16:05
@joshblack
joshblack requested review from llastflowers and a lite review from Copilot August 11, 2026 16:05
@changeset-bot

changeset-bot Bot commented Aug 11, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: ec8d7bd

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@joshblack joshblack added the skip changeset This change does not need a changelog label Aug 11, 2026
@github-actions github-actions Bot added the staff Author is a staff member label Aug 11, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Migrates the repo’s Changesets toolchain from v2 → v3 (including config schema and the release workflow action), and updates root engine constraints to match the new Changesets requirements.

Changes:

  • Upgraded Changesets dependencies (@changesets/cli v3, @changesets/changelog-github v1) and updated lockfile accordingly.
  • Updated .changeset/config.json to the v4 schema and explicitly preserved private package versioning behavior.
  • Updated the release workflow to changesets/action v2 and migrated renamed inputs.
  • Added a new @primer/cli workspace package scaffold (commands, build config, bin entrypoint).
Show a summary per file
File Description
packages/cli/vitest.config.ts Adds Vitest config for the new @primer/cli workspace.
packages/cli/tsconfig.json Adds TS config for the new @primer/cli workspace.
packages/cli/src/commands/token.ts Adds initial token command scaffold.
packages/cli/src/commands/component.ts Adds component command scaffold (currently has an unused param lint issue).
packages/cli/src/cli.ts Adds CLI entrypoint wiring for subcommands.
packages/cli/rolldown.config.ts Adds rolldown build config for bundling the CLI.
packages/cli/README.md Adds initial README for @primer/cli.
packages/cli/package.json Adds new private workspace package metadata and scripts (bin naming concern).
packages/cli/bin/primer-cli.js Adds executable entrypoint that calls the built CLI.
package.json Updates engines and Changesets-related devDependencies for the v3 migration.
package-lock.json Locks upgraded Changesets dependency graph and adds the new @primer/cli workspace.
.github/workflows/release.yml Updates release workflow to changesets/action v2 and renamed inputs.
.changeset/config.json Updates Changesets config schema URL and adds privatePackages behavior.

Review details

Tip

Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 11/13 changed files
  • Comments generated: 4
  • Review effort level: Lite

Comment thread packages/cli/src/commands/component.ts Outdated
Comment on lines +19 to +21
async run(ctx) {
// const {json} = ctx.args
},
Comment thread packages/cli/src/cli.ts Outdated
Comment on lines +12 to +15
subCommands: {
component: componentSubCommand,
tokens: tokenSubCommand,
},
Comment thread packages/cli/package.json Outdated
"version": "0.0.0",
"type": "module",
"private": true,
"bin": "./bin/primer-cli.js",
Comment thread packages/cli/package.json Outdated
Comment on lines +1 to +6
{
"name": "@primer/cli",
"version": "0.0.0",
"type": "module",
"private": true,
"bin": "./bin/primer-cli.js",
@primer

primer Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

🤖 Lint issues have been automatically fixed and committed to this PR.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: d9a6cced-e3fe-441e-8626-f190f3896d69
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip changeset This change does not need a changelog staff Author is a staff member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants