Skip to content

Update Changesets schema and action - #43

Merged
adelrodriguez merged 3 commits into
mainfrom
t3code/assess-changeset-applicability
Aug 12, 2026
Merged

Update Changesets schema and action#43
adelrodriguez merged 3 commits into
mainfrom
t3code/assess-changeset-applicability

Conversation

@adelrodriguez

@adelrodriguez adelrodriguez commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • update the Changesets configuration schema URL from 3.1.1 to 4.0.0
  • migrate the release workflow from changesets/action@v1 to changesets/action@v2
  • rename the action inputs to publish-script, version-script, and pr-title
  • pass the GitHub token through the v2 github-token input
  • preserve the v1 Git CLI push behavior with push-with-git-cli: true

Why

The project uses Changesets CLI v3 and resolves @changesets/config 4.0.0, but its schema URL still referenced config 3.1.1. Changesets action v2 is the compatible action release for Changesets CLI v3 and renamed several workflow inputs. The explicit push setting prevents the major-version upgrade from silently changing release commits and tags to GitHub API pushes.

@changesets/cli 3.0.0 is already the latest published release, so no dependency or lockfile change is required.

Impact

The schema change aligns editor and validation metadata with the installed config package. The workflow migration keeps release PR creation and publishing compatible with the current Changesets generation while preserving the existing push mechanism.

Validation

  • bun run format
  • bun run check
  • git diff --check

Summary by CodeRabbit

  • Chores
    • Updated release automation to use the latest Changesets configuration and action format.
    • Improved automated versioning, publishing, pull request titles, authentication, and Git push handling.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 4acefed0-8bf9-4efa-a106-cb2d034eeab6

📥 Commits

Reviewing files that changed from the base of the PR and between 0f314f2 and f7ba205.

📒 Files selected for processing (2)
  • .changeset/config.json
  • .github/workflows/release.yml

Walkthrough

The pull request updates the Changesets schema reference to version 4.0.0 and upgrades the release workflow to changesets/action@v2 with renamed inputs, token configuration, and Git CLI pushing.

Changes

Release configuration

Layer / File(s) Summary
Changesets schema reference
.changeset/config.json
The configuration references the Changesets schema version 4.0.0.
Release workflow action upgrade
.github/workflows/release.yml
The workflow uses changesets/action@v2, renamed inputs, github-token, and push-with-git-cli.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the two main changes: the Changesets schema update and the release action update.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/assess-changeset-applicability

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@adelrodriguez
adelrodriguez marked this pull request as ready for review August 12, 2026 17:47
@adelrodriguez adelrodriguez changed the title Align Changesets schema version Update Changesets schema and action Aug 12, 2026

@pullfrog pullfrog Bot 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.

✅ No new issues found.

Reviewed changes — a one-line metadata bump in the Changesets configuration.

  • $schema URL bumped to 4.0.0.changeset/config.json now points at https://unpkg.com/@changesets/config@4.0.0/schema.json instead of 3.1.1.

Verified against the repo and the upstream package:

  • bun.lock resolves @changesets/config@4.0.0 (pulled transitively by @changesets/cli@3.0.0, which requires ^4.0.0), so the pinned URL now matches what is actually installed.
  • The 4.0.0 schema URL resolves and is a valid JSON Schema 2020-12 document.
  • Every key present in the config — changelog, commit, fixed, linked, access, baseBranch, updateInternalDependencies, ignore — is still defined in the v4 schema, so nothing in the file is orphaned by the bump.

As the description states, $schema is editor/validation metadata and is not read at runtime, so release behavior is unaffected.

Pullfrog  | View workflow run | Using Claude Opus𝕏

@adelrodriguez
adelrodriguez marked this pull request as draft August 12, 2026 17:49
@adelrodriguez
adelrodriguez marked this pull request as ready for review August 12, 2026 17:50

@pullfrog pullfrog Bot 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.

ℹ️ One silent default change worth confirming — otherwise the migration checks out.

Reviewed changes — incremental review of a22504c, which expands the PR beyond the schema bump already approved in my prior review.

  • changesets/action v1 → v2.github/workflows/release.yml moves to the v2 major.
  • Action inputs renamedpublishpublish-script, versionversion-script, titlepr-title.
  • Token passed as an input — the step-level env: GITHUB_TOKEN block is replaced by the v2 github-token input.

I verified the migration against action.yml on the v1 and v2 refs. All four renames match v2's real input names, and the pieces that could plausibly have broken did not:

  • Dropping env: GITHUB_TOKEN is safe here. v2 no longer reads that variable, and neither child script needs it — release is changeset publish and version is changeset version && bun run format. The configured changelog generator is @changesets/cli/changelog, which makes no GitHub API calls (this would be a different story with @changesets/changelog-github).
  • npm auth is unaffected. v2 removed v1's NPM_TOKEN/.npmrc injection, but this workflow publishes via OIDC and writes its own .npmrc at line 51, before the changesets step.
  • permissions: is already sufficientcontents: write and pull-requests: write are both present.
  • create-github-releases and push-git-tags both default to true, matching v1's net behavior.
  • v2 renamed the step outputs (publishedPackagespublished-packages, hasChangesetshas-changesets, pullRequestNumberpr-number). Nothing in .github/ reads steps.changesets.outputs.* today, so this is inert — just worth knowing if a step ever starts consuming them, since the old names would silently resolve to empty strings.

One default did change silently across the major, noted inline.

Pullfrog  | Fix all ➔Fix 👍s ➔View workflow run | Using Claude Opus𝕏

Comment thread .github/workflows/release.yml
@adelrodriguez
adelrodriguez marked this pull request as draft August 12, 2026 17:54
@adelrodriguez
adelrodriguez marked this pull request as ready for review August 12, 2026 17:54

@pullfrog pullfrog Bot 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.

✅ No new issues found.

Reviewed changes — incremental review of f7ba205, a single added line that retires the one open item from my prior review.

  • Pinned the push mechanism.github/workflows/release.yml now sets push-with-git-cli: true, restoring v1's commitMode: "git-cli" behavior instead of inheriting v2's flipped false default.

Verified against action.yml on the v2 ref: push-with-git-cli is a real input, defaults to false, and is documented as "Whether to use the Git CLI instead of the GitHub API to push release commits and tags." Credentials for the CLI push come from actions/checkout@v7's default persist-credentials: true using the same GITHUB_TOKEN already passed to the step, so no additional wiring is needed. The one downstream consequence is that release commits and tags stay attributed to the Actions bot and are unsigned — worth revisiting only if main ever starts requiring signed commits, in which case dropping this input to take the v2 default would be the better move.

The prior review thread has been replied to and resolved.

Pullfrog  | View workflow run | Using Claude Opus𝕏

@adelrodriguez
adelrodriguez merged commit e7ecb04 into main Aug 12, 2026
8 checks passed
@adelrodriguez
adelrodriguez deleted the t3code/assess-changeset-applicability branch August 12, 2026 19:41
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