Skip to content

fix: revert changesets/action to v1 - #342

Merged
willeastcott merged 1 commit into
mainfrom
fix/changesets-action-v1
Sep 8, 2026
Merged

willeastcott merged 1 commit into
mainfrom
fix/changesets-action-v1

Conversation

@willeastcott

Copy link
Copy Markdown
Contributor

Fixes the Changesets workflow failure in run 34214808539.

What broke

#340 bumped changesets/action from v1 to v2.1.2. That's a major bump, and nothing else was migrated with it.

1. Hard failure — action v2 requires Changesets CLI v3. This repo pins @changesets/cli 2.31.0, so the action exits before doing any work:

##[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.

2. Latent failure — v2 renamed every input, so all four in the workflow were silently ignored (the Unexpected input(s) warning in the run):

v1 v2
commit commit-message
title pr-title
publish publish-script
createGithubReleases create-github-releases

publish → publish-script is the one that matters: unset, the action falls back to version-PR-only mode. Had the CLI check passed, this job would have opened a "Version Packages" PR and never published to npm — a silent release regression rather than a red X.

This PR

  • Reverts to changesets/action@v1, which is still maintained on the action's maintenance/v1 branch (currently v1.9.0) and is the version compatible with CLI v2.
  • Adds a Renovate rule holding the major, so it doesn't get re-raised and merged the same way next cycle.

Follow-up

The real migration is worth doing as its own PR, where a failed publish is visible rather than landing as a hotfix on a broken main:

  • @changesets/cli 2.31.0 → 3.0.2
  • rename the four inputs above
  • re-check .changeset/config.json against the newer config schema
  • drop the Renovate rule added here

🤖 Generated with Claude Code

Renovate bumped changesets/action to v2.1.2 in #340, which broke the
release workflow on main.

Action v2 requires Changesets CLI v3, but this repo pins
@changesets/cli 2.31.0, so the action exits immediately:

    This version of the Changesets action is designed to work with
    Changesets CLI v3. Changesets CLI v2 is not supported.

v2 also renamed every input, so commit, title, publish and
createGithubReleases were all silently ignored. Most importantly
publish (now publish-script) was unset, which would have downgraded
the job to version-PR-only and skipped publishing to npm entirely.

Revert to v1 and hold the major in Renovate until the CLI upgrade and
input renames are done together.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@changeset-bot

changeset-bot Bot commented Sep 8, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 2c650a2

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

@pkg-pr-new

pkg-pr-new Bot commented Sep 8, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@playcanvas/blocks@342
npm i https://pkg.pr.new/@playcanvas/react@342

commit: 2c650a2

@willeastcott
willeastcott merged commit 39b4893 into main Sep 8, 2026
6 checks passed
@willeastcott
willeastcott deleted the fix/changesets-action-v1 branch September 8, 2026 10:26
abstrakt8 pushed a commit that referenced this pull request Sep 25, 2026
The two have to move together. Action v2 refuses CLI v2 (#340, reverted
in #342), and action v1 can't handle CLI v3: v1 finds what was
published by matching `New tag:` in the publish output, which v3 no
longer prints. Releases would still reach npm, but no git tags would be
pushed and no GitHub releases created.

- Bump @changesets/cli to 3.0.3 and changesets/action to v2.
- Rename the action inputs for v2 (commit-message, pr-title,
  publish-script, create-github-releases). v2.1.2 fails on the old
  names.
- Drop the GITHUB_TOKEN env from the release step. v2 takes the token
  from its github-token input (the default GitHub token), passes it to
  the publish script itself, and fails if the env var differs.
- Remove the Renovate hold on changesets/action.
- Point .changeset/config.json's $schema at @changesets/config 4.0.1,
  the version CLI v3 uses. The config validates against it unchanged.

Action v2 reads the published packages from an NDJSON file named by
CHANGESETS_OUTPUT. Verified locally that the variable reaches the CLI
through `pnpm -w changeset`, that `changeset publish-plan` works
against npm with pnpm 12, and that `changeset version` produces the
same version bumps and changelog entries as CLI v2 for the pending
changeset.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant