Repository navigation
v0.16.0
Minor Changes
-
#259
bfe0398Thanks @JounQin! - Sync withchangesets/actionv2 (structure, behaviour and fixes).Breaking
- Inputs renamed to match upstream:
publish→publish-script,version→version-script,commit→commit-message,title→pr-title,target_branch→pr-base-branch. Set them through the underscore-normalizedINPUT_*variable; the old names now error with the variable to use (inputs whose variable is unchanged keep working) publishedPackagesoutput renamed topublished-packages- The split flow is now CLI commands (
select-mode,version,pack,publish) instead of GitHub sub-actions, pluspr-status/pr-comment.runPublish/runVersiontake agitlab: GitLabinstance andrunVersionreturnsRunVersionResult changeset versionis no longer run with its exit code ignored, so theversioncommand fails when there is nothing to version, like upstream's/versionsub-action
Added
pr-draft,create-gitlab-releases,push-git-tagsandpush-with-git-cliinputs; withpush-with-git-cli: falsethe release commit and tags are created through the GitLab API (viacommitChangesSinceBase, the@changesets/ghcommitcounterpart)has-changesetsandpr-numberoutputs; every output uses upstream'score.setOutput(native$GITHUB_OUTPUT, otherwise~/.changesets-gitlab.outputs)
Changed
- Use the exact tags reported by
CHANGESETS_OUTPUT, support the built-inchangeset publish(--from-pack-dir) and run custom scripts and callbacks through@actions/exec getChangelogEntryfollows upstream (1d54b9e): parse with a regex and return the raw changelog slice instead of re-serializing it throughremark, dropping theremark/unifieddependencies. It also recognizes~~~fences, keeping the edge case the previousremarkimplementation handled- The split
version/publishcommands readscriptlike the upstream sub-actions (falling back toversion-script/publish-script) pr-draftmirrors upstream:create/alwaysopen a new merge request as draft, and onlyalwaysconverts an existing one (GitLab marks drafts with aDraft:title prefix)- npm authentication is left to npm (Trusted Publishing/OIDC, otherwise
NODE_AUTH_TOKEN); removed the.npmrc/NPM_TOKENhandling - Git CLI authentication uses command-scoped
http.extraHeaderinstead of writing the token into.git/config;DEBUG_GITLAB_CREDENTIALnow only unsilences the auth remote lookup - All logging goes through
@actions/coreinstead ofconsole.*
Fixed
- Warn when a custom publish script does not produce
CHANGESETS_OUTPUT, and fail on malformed output - The empty-release-MR guard compares package versions, so it also works when the version command commits the changes
- Tag push failures warn (the tag may already exist), publish failures fail the job, and the
gitlab[bot]identity is only a fallback - Use fully-qualified refspecs for
git fetch/git pushso a branch or tag name cannot be interpreted as a git command option - Point the merge request status comment links at the current Changesets FAQ (
https://changesets.dev/faq) - Apply the input-migration guards to the split
version/publishcommands too, and forwardremove-source-branchfromversion - Detect an already-checked-out branch by exit code, create the comment API lazily so a
changeset-release*branch withoutGITLAB_TOKENstays a no-op, and resolvepublish-plan-pathagainstcwd - Keep paths with spaces or non-ASCII characters intact when committing through the GitLab API (
-zparsing)
- Inputs renamed to match upstream:
-
#262
1f81ba5Thanks @JounQin! - Breaking Drop CommonJS support, matching the ESM-onlychangesets/action: the package no longer ships arequire-able entry (lib/index.cjs/index.d.cts), and onlyimportis supported.
Patch Changes
-
#261
27143edThanks @JounQin! - FixedrunVersionresets thechangeset-release/*branch to the pipeline trigger commit (CI_COMMIT_SHA) instead of the latestorigin/${branch}tip, matchingchangesets/action. A delayed pipeline can no longer version changesets it never saw (#236). This makes theCI_COMMIT_SHA,CI_COMMIT_REF_NAMEandCI_PROJECT_IDenvironment variables required: GitLab CI injects them automatically, but other CI environments must set them explicitly. -
#264
4cb2261Thanks @JounQin! - Fixed Resolve the Changesets CLI from the package manager's global directory (npm/yarn/pnpm) as a fallback when it is not installed in the repository. A globally installedchangesets-gitlabno longer fails withHave you forgotten to install @changesets/cli(#125).