changesets/Changesets
A GitHub action to automate releases with Changesets
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 5, 2026
- License
- MIT
Pinned Snippet
uses: changesets/action@a45c4d594aa4e2c509dc14a9f2b3b67ba3780d0d # v1.9.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| github-token | The GitHub token to use for authentication. Defaults to the GitHub-provided token. | no | ${{ github.token }} |
| publish-script | The command to use to build and publish packages | no | — |
| version-script | The command to update version, edit CHANGELOG, read and delete changesets. Default to `changeset version` if not provided | no | — |
| commit-message | The commit message. Default to `Version Packages` | no | Version Packages |
| pr-title | The pull request title. Default to `Version Packages` | no | Version Packages |
| pr-draft | Controls draft PR behavior. Use 'create' to create new version PRs as draft, or 'always' to also convert existing version PRs back to draft when updating them. | no | — |
| pr-base-branch | Sets the base branch of the PR. Defaults to `github.ref_name`. | no | — |
| create-github-releases | Whether to create Github releases after publish | no | true |
| push-git-tags | Whether to create git tags after publish. If `create-github-releases` is set to `true`, this option will also always be `true`. | no | true |
| commit-mode | An enum to specify the commit mode. Use "git-cli" to push changes using the Git CLI, or "github-api" to push changes via the GitHub API. When using "github-api", all commits and tags are signed using GitHub's GPG key and attributed to the user or app who owns the GITHUB_TOKEN. | no | git-cli |
| setup-git-user | Sets up the git user for commits as `"github-actions[bot]"`. Default to `true` | no | true |
Outputs
| name | description |
|---|---|
| published | A boolean value to indicate whether a publishing is happened or not |
| published-packages | A JSON array to present the published packages. The format is `[{"name": "@xx/xx", "version": "1.2.0"}, {"name": "@xx/xy", "version": "0.8.9"}]` |
| has-changesets | A boolean about whether there were changesets. Useful if you want to create your own publishing functionality. |
| pr-number | The pull request number that was created or updated |