fix(ci): install @changesets/cli as workspace devDep#11
Conversation
The release workflow's `changesets/action@v1` step resolves
`@changesets/cli` from the workspace's node_modules before doing
anything, so a global install via `npm install -g` lets the binary
land on PATH but doesn't satisfy the action's preflight resolve.
Symptom: every merge that *adds* a changeset (vs the follow-up
Version Packages PR, which has no pending changesets and skips the
action's open-version-PR branch) fails the Release job with:
Error: Have you forgotten to install `@changesets/cli` in
"/home/runner/work/managed-auth-react/managed-auth-react"?
Fix: add `@changesets/cli` to the root devDependencies so it
resolves from the workspace. Bun does create `node_modules/.bin/changeset`
when it's a workspace dep, so the earlier "bun skips the .bin shim"
workaround is no longer needed and the global-install step is dropped.
The publish input to changesets/action is passed to @actions/exec.getExecOutput, which does a PATH-based lookup — it does not search the workspace's node_modules/.bin. With the global install gone, `changeset publish` would no longer resolve. `bunx` explicitly resolves to the workspace devDep (verified: returns 2.31.0).
|
Firetiger deploy monitoring skipped This PR didn't match the auto-monitor filter configured on your GitHub connection:
Reason: PR modifies CI/build configuration and dependencies, not kernel API endpoints or Temporal workflows. To monitor this PR anyway, reply with |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 5955033. Configure here.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|

Summary
@changesets/clito rootdevDependenciesso thechangesets/action@v1preflight check in the release workflow can resolve it from the workspace..github/workflows/release.yaml.Why
The release workflow has two execution paths depending on whether there are pending changesets:
@changesets/cli?bun run releaseThe current workflow installs
@changesets/cliglobally via npm, which puts the binary on PATH for thechangeset publishinvocation but doesn't satisfy the action's preflight resolve. Result: every merge that adds a changeset fails the Release job, and the Version Packages PR has to be created manually.This happened on the most recent merge with the error:
Installing as a workspace devDep makes the action's resolve succeed and also causes Bun to create
node_modules/.bin/changesetnaturally, so the global-install step becomes unnecessary.Test plan
bun installresolves cleanly with the new devDepnode_modules/.bin/changesetexists after install (verified locally)bun run format:checkpassesfix-strict-mode-double-exchange.md) sitting in.changeset/that the workflow couldn't process, so the merge of this PR will be the live testNote
Medium Risk
Touches the release workflow and publish invocation; mistakes could block automated version PR creation or npm publishing, but changes are limited to tooling/config.
Overview
Ensures
changesets/action@v1can resolve@changesets/cliby adding it to rootdevDependencies, and updatesbun.lockaccordingly.Simplifies the GitHub release workflow by removing the global
@changesets/cliinstall and running the publish command viabunx changeset publish.Reviewed by Cursor Bugbot for commit be5dc5d. Bugbot is set up for automated code reviews on this repo. Configure here.