Skip to content

ci(boxel-cli): use pnpm publish in manual release workflow#4778

Merged
richardhjtan merged 1 commit into
mainfrom
fix/boxel-cli-publish-workflow-use-pnpm
May 12, 2026
Merged

ci(boxel-cli): use pnpm publish in manual release workflow#4778
richardhjtan merged 1 commit into
mainfrom
fix/boxel-cli-publish-workflow-use-pnpm

Conversation

@richardhjtan
Copy link
Copy Markdown
Contributor

Summary

  • Follow-up to boxel-cli: publish with pnpm so catalog: deps are resolved #4762. That PR changed packages/boxel-cli/package.json's publish:npm script to use pnpm publish, but the actual release workflow at .github/workflows/manual-boxel-cli-publish.yml invokes npm publish directly — it never calls the publish:npm script. So the fix didn't take effect, and the freshly released 0.1.1 still has raw catalog: specifiers in dependencies (see npm view @cardstack/boxel-cli@0.1.1 dependencies).
  • This PR switches the workflow's publish step to pnpm publish, which rewrites every catalog: specifier to its concrete version from pnpm-workspace.yaml's catalog block before uploading the tarball.
  • --no-git-checks is needed because the workflow has already committed the version bump and tag at the point publish runs; pnpm would otherwise refuse over the local commit.

Test plan

  • After merging, run the manual workflow with patch + staging. Expected: bump to 0.1.2, beta tag.
  • Verify npm view @cardstack/boxel-cli@beta dependencies — should show concrete versions (e.g. "ignore": "^5.x.x"), no catalog: strings.
  • Smoke test: `npm install -g @cardstack/boxel-cli@beta && boxel --version` succeeds.
  • Re-run workflow with patch + production to publish @latest.
  • Re-run the boxel-catalog sync-to-staging workflow — the `Install boxel-cli` step should succeed.

Note: 0.1.1 on npm stays as a known-bad release on the beta tag. Unpublishing is intentionally avoided (npm restricts removal after 72h and it would invalidate the version number for anyone who already resolved it).

🤖 Generated with Claude Code

The workflow calls `npm publish` directly, bypassing the
`publish:npm` script in package.json. As a result the previous
fix to that script had no effect — the just-released 0.1.1
tarball still contains raw `catalog:` specifiers in
dependencies and is unusable via `npm install`.

Switch the workflow's publish step to `pnpm publish` so the
catalog protocol is rewritten to concrete versions before the
tarball is uploaded. `--no-git-checks` is needed because the
workflow has already committed the version bump and tag.

The next run will bump to 0.1.2 and publish a clean tarball.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@richardhjtan richardhjtan requested review from a team and FadhlanR May 12, 2026 04:10
@richardhjtan richardhjtan merged commit 7fdec54 into main May 12, 2026
26 checks passed
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.

4 participants