Skip to content

fix(ci): pair changesets CLI v3 with changesets/action v2 - #330

Merged
keonik merged 1 commit into
mainfrom
fix/changesets-v3
Sep 3, 2026
Merged

keonik merged 1 commit into
mainfrom
fix/changesets-v3

Conversation

@keonik

@keonik keonik commented Sep 3, 2026

Copy link
Copy Markdown
Owner

The release path on main is currently broken. Every push to main now fails the Publish workflow, and the pending release PR (#321) is stale because of it.

What happened

#322 bumped changesets/action 1 → 2 by itself. The action and the CLI are a matched pair:

Error: This version of the Changesets action is designed to work with Changesets
CLI v3. Changesets CLI v2 is not supported; use Changesets action v1 instead,
which is compatible with CLI v2.

#325@changesets/cli 2.x → 3.0.1 — is the other half of #322. They needed to land together. I earlier suggested closing #325 and letting Dependabot re-raise it; that was wrong, and this PR carries it instead.

A second, quieter break

Action v2 renamed the input. This was logged as a warning, not an error:

##[warning]Unexpected input(s) 'publish', valid inputs are ['github-token',
'publish-script', 'version-script', ...]

So even once the CLI matched, the publish step would have run with no publish script configured and silently created release PRs without ever publishing. Fixed here too:

-          publish: bun run ci:publish
+          publish-script: bun run ci:publish

Verification against v3 locally

  • bunx changeset status --since=origin/main — works (still the CI gate's command)
  • bunx changeset publish --help — works; no --access flag, consistent with fix(ci): drop the --access flag that broke the 3.0.1 publish #308
  • bunx changeset version — correct 3.2.13.2.2 bump and changelog from the pending test-tmp-race changeset. Bump reverted in this branch — generating the release PR is the action's job, not this PR's.
  • bun run build, bun run test (37/37 files, 70 passed, 1 skipped), lint, format:check — all clean

bun.lock shrinks ~140 lines: changesets v3 collapses the @changesets/* constellation (apply-release-plan, assemble-release-plan, get-release-plan, …) into far fewer packages.

.changeset/config.json $schema follows @changesets/config to 4.0.0.

Closes #325.

Not fixed here

The Dependabot bun run is failing for an unrelated upstream reason — see my comment on #329's follow-up. Separate problem, separate fix.

#322 bumped changesets/action 1 -> 2 on its own, which broke every
publish on main:

    Error: This version of the Changesets action is designed to work
    with Changesets CLI v3. Changesets CLI v2 is not supported; use
    Changesets action v1 instead, which is compatible with CLI v2.

The action and the CLI are a matched pair, so the CLI has to move with
it. #325 is the other half of #322 and should have landed together.

Action v2 also renamed the input:

    publish: -> publish-script:

which the run logged as a warning rather than an error, so the step
would have silently done nothing even once the CLI matched.

Verified against v3 locally: `changeset status --since=origin/main`
and `changeset publish --help` both work, and `changeset version`
produces the expected 3.2.1 -> 3.2.2 bump and changelog from the
pending test-tmp-race changeset (bump reverted here; the release PR is
the action's job).

Closes #325. Config `$schema` follows @changesets/config to 4.0.0.
@keonik keonik added the skip-changeset PR intentionally needs no changeset (docs/CI only) label Sep 3, 2026
@keonik
keonik merged commit 56341a0 into main Sep 3, 2026
25 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changeset PR intentionally needs no changeset (docs/CI only)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant