Compare commits

..
52 changed files with 1242 additions and 1294 deletions
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": patch
---
Fix the computed publish plan path passed internally to `changeset pack` by the `/pack` subaction.
+9
View File
@@ -0,0 +1,9 @@
---
"@changesets/action": major
---
Release commits and tags are now pushed using the GitHub API by default.
Replace the `commit-mode` input with the boolean `push-with-git-cli` input. Set `push-with-git-cli: true` to continue using the Git CLI.
Regardless of the push mode, custom GitHub tokens must be passed explicitly through the `github-token` input. The `GITHUB_TOKEN` environment variable and credentials configured by `actions/checkout` or embedded in remote URLs are not substitutes for this input. When the Git CLI is enabled, `github-token` takes precedence over those repository credentials.
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": patch
---
Validate that projects use Changesets CLI v3 and direct Changesets CLI v2 users to `changesets/action@v1`.
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": patch
---
Allow custom publish scripts to complete without a Changesets output file, warning that GitHub releases and git tags cannot be created when that file is missing.
+7
View File
@@ -0,0 +1,7 @@
---
"@changesets/action": major
---
Add a new `push-git-tags` option that complements `create-github-releases` to control specifically if git tags should be created but not GitHub releases.
If `create-github-releases` was previously set to `false`, which also indirectly disabled git tag creation, git tags will now be created instead by default. If this is not desired, set `push-git-tags` to `false` explicitly.
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": minor
---
Add new `/select-mode`, `/version`, and `/publish` sub-actions to better control version and publish steps
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": major
---
Removed compatibility support for old Changesets v1.
+17
View File
@@ -0,0 +1,17 @@
---
"@changesets/action": major
---
Rename the root action inputs and outputs to better match the sub-actions' conventions.
Inputs:
- `version` -> `version-script`
- `publish` -> `publish-script`
- `commit` -> `commit-message`
- `title` -> `pr-title`
- `branch` -> `pr-base-branch`
Outputs:
- `pull-request-number` -> `pr-number`
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": major
---
Remove support for passing custom GitHub token through the GITHUB_TOKEN environment variable. It should be passed to the `github-token` input instead.
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": patch
---
Authenticate git CLI pushes with the configured GitHub token using Git extra headers instead of writing to a global `.netrc` file.
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": patch
---
Derive the Git server URL from the GitHub Actions context when configuring git CLI authentication to support GitHub Enterprise Server setups.
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": patch
---
Fixed a regression making it impossible to sync new versions of versioning pull requests with base branch updates when using GitHub API pushes.
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": major
---
Remove `cwd` option for `changesets/action`. Use the step `working-directory` option instead to change the directory.
+26
View File
@@ -0,0 +1,26 @@
{
"mode": "pre",
"tag": "next",
"changesets": [
"all-cars-grin",
"brave-pandas-commit",
"bright-lions-check",
"calm-files-warn",
"chubby-geese-sink",
"eight-clocks-pull",
"eighty-doors-swim",
"eighty-parks-tickle",
"fiery-toes-vanish",
"git-cli-auth-header",
"git-cli-server-url",
"green-birds-push",
"lemon-turtles-itch",
"ready-mangos-boil",
"shaky-rings-type",
"shy-months-crash",
"silent-tips-dance",
"strict-hotels-laugh",
"tidy-bots-smile",
"yellow-roses-fix"
]
}
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": patch
---
Fixed usage of `--from-publish-plan` flag used by the `/pack` subaction
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": major
---
Update to Changesets v3 packages
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": minor
---
Published packages detection done through stdout parsing was replaced with one based on the shared output file using `CHANGESETS_OUTPUT` environment variable. When using custom scripts this environment variable should always be passed down to the Changesets CLI invocations.
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": patch
---
Fix the `/version` subaction to not crash on missing `pr-base-branch` input. This input is meant to be optional.
+7
View File
@@ -0,0 +1,7 @@
---
"@changesets/action": major
---
Removed `.npmrc` handling when the `NPM_TOKEN` environment variable is set.
Authentication should be handled via Trusted Publishing instead. If a token is still needed, use `actions/setup-node` to set it up instead via the `registry-url` option. Check out the updated action README for more information of setting up npm authentication in GitHub Actions.
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": patch
---
Remove the `setup-git-user` input. Complete custom Git identities are now preserved automatically, while `github-actions[bot]` is configured as a fallback before creating local release commits or tags.
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": major
---
Rename the input and output names to kebab-case instead of camelCase to match the official GitHub actions pattern
-5
View File
@@ -10,11 +10,6 @@ inputs:
runs:
using: composite
steps:
- name: Check out repo
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Set up pnpm
uses: pnpm/action-setup@8912a9102ac27614460f54aedde9e1e7f9aec20d # v6.0.5
+20 -5
View File
@@ -27,12 +27,12 @@ jobs:
security-events: write # allow writing security events
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Run zizmor
uses: zizmorcore/zizmor-action@cc914d7f3750a2d13d75c7f184a1060aa0e9d482 # v0.6.4
uses: zizmorcore/zizmor-action@5f14fd08f7cf1cb1609c1e344975f152c7ee938d # v0.5.6
with:
persona: pedantic
annotations: true
@@ -43,7 +43,12 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: $/.github/actions/ci-setup
- name: Check out repo
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- uses: ./.github/actions/ci-setup
- name: Test
run: pnpm test
@@ -53,7 +58,12 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: $/.github/actions/ci-setup
- name: Check out repo
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- uses: ./.github/actions/ci-setup
- name: Typecheck
run: pnpm typecheck
@@ -63,7 +73,12 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: $/.github/actions/ci-setup
- name: Check out repo
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- uses: ./.github/actions/ci-setup
- name: Format
run: pnpm format
+23 -8
View File
@@ -24,7 +24,12 @@ jobs:
permissions:
contents: read # to check out repo (actions/checkout)
steps:
- uses: $/.github/actions/ci-setup
- name: Check out repo
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- uses: ./.github/actions/ci-setup
with:
skip-cache: true # avoid cache poisoning attacks
@@ -33,7 +38,7 @@ jobs:
- name: Select mode
id: select-mode
uses: $/select-mode
uses: ./select-mode
version:
name: Version
@@ -45,14 +50,19 @@ jobs:
permissions:
contents: read # to check out repo (actions/checkout)
steps:
- uses: $/.github/actions/ci-setup
- name: Check out repo
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- uses: ./.github/actions/ci-setup
with:
skip-cache: true # avoid cache poisoning attacks
- name: Build
run: pnpm build
- uses: $/.github/actions/setup-bot-auth
- uses: ./.github/actions/setup-bot-auth
id: bot-auth
with:
client-id: ${{ vars.APP_CLIENT_ID }}
@@ -62,7 +72,7 @@ jobs:
- name: Create or update release pull request
id: changesets
uses: $/version
uses: ./version
with:
github-token: ${{ steps.bot-auth.outputs.token }}
script: pnpm bump
@@ -77,14 +87,19 @@ jobs:
permissions:
contents: write # to create release and have it authored by github-actions (changesets/action)
steps:
- uses: $/.github/actions/ci-setup
- name: Check out repo
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- uses: ./.github/actions/ci-setup
with:
skip-cache: true # avoid cache poisoning attacks
- name: Build
run: pnpm build
- uses: $/.github/actions/setup-bot-auth
- uses: ./.github/actions/setup-bot-auth
id: bot-auth
with:
client-id: ${{ vars.APP_CLIENT_ID }}
@@ -92,7 +107,7 @@ jobs:
permission-contents: write # to bypass branch and tag protection rules (release.ts)
- name: Publish to marketplace
uses: $/publish
uses: ./publish
with:
github-token: ${{ steps.bot-auth.outputs.token }}
script: pnpm release
+7 -2
View File
@@ -122,7 +122,12 @@ jobs:
pull-requests: write # to comment on the pull request with the release result (changesets/action)
steps:
- uses: $/.github/actions/ci-setup
- name: Check out repo
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- uses: ./.github/actions/ci-setup
with:
skip-cache: true # avoid cache poisoning attacks
@@ -161,7 +166,7 @@ jobs:
- name: Build
run: pnpm build
- uses: $/.github/actions/setup-bot-auth
- uses: ./.github/actions/setup-bot-auth
id: bot-auth
with:
client-id: ${{ vars.APP_CLIENT_ID }}
+1 -1
View File
@@ -1 +1 @@
24.22.1
v24.11.0
-94
View File
@@ -1,99 +1,5 @@
# @changesets/action
## 2.1.2
### Patch Changes
- [#735](https://github.com/changesets/action/pull/735) [`8833883`](https://github.com/changesets/action/commit/88338839e35c3e0fa61f3c9c3f27e7572cd5f2cf) Thanks [@bluwy](https://github.com/bluwy)! - Handle error when pushing git tags with the git CLI
- [#724](https://github.com/changesets/action/pull/724) [`36f529f`](https://github.com/changesets/action/commit/36f529f13ab58bbcf6331035cb950385586e8a89) Thanks [@bluwy](https://github.com/bluwy)! - Improve log messages
- [#724](https://github.com/changesets/action/pull/724) [`36f529f`](https://github.com/changesets/action/commit/36f529f13ab58bbcf6331035cb950385586e8a89) Thanks [@bluwy](https://github.com/bluwy)! - Fix root action double error logs
- [#729](https://github.com/changesets/action/pull/729) [`ca85897`](https://github.com/changesets/action/commit/ca8589735af2ff6977a0f6474537d550040530d8) Thanks [@bluwy](https://github.com/bluwy)! - Always switch and reset branch when generating version commits, similar to if `push-with-git-cli` is enabled
## 2.1.1
### Patch Changes
- [#721](https://github.com/changesets/action/pull/721) [`da1ea29`](https://github.com/changesets/action/commit/da1ea291ef93203a08fad360eac36f4858dd0514) Thanks [@KEBABSELLER6](https://github.com/KEBABSELLER6)! - Fixed typo in renamed inputs from v1 to v2
## 2.1.0
### Minor Changes
- [#718](https://github.com/changesets/action/pull/718) [`3b7c71c`](https://github.com/changesets/action/commit/3b7c71c440e75fca5d335f779290425fc1117fe8) Thanks [@bluwy](https://github.com/bluwy)! - Add a `cwd` input to the root action, `/select-mode`, `/version`, `/pack`, and `/publish` sub-actions to set the current working directory to execute Changesets in. This input existed in v1 but was incorrectly removed.
### Patch Changes
- [#716](https://github.com/changesets/action/pull/716) [`6f58ba3`](https://github.com/changesets/action/commit/6f58ba35801ec075a1c87569277591f8ef1a3029) Thanks [@bluwy](https://github.com/bluwy)! - Update `pr-status` message to link to the new faq page
## 2.0.0
### Major Changes
- [#692](https://github.com/changesets/action/pull/692) [`cb3f011`](https://github.com/changesets/action/commit/cb3f0110d7423cd340b1c5d63584c0ea6ee63959) Thanks [@Andarist](https://github.com/Andarist)! - Release commits and tags are now pushed using the GitHub API by default.
Replace the `commit-mode` input with the boolean `push-with-git-cli` input. Set `push-with-git-cli: true` to continue using the Git CLI.
Regardless of the push mode, custom GitHub tokens must be passed explicitly through the `github-token` input. The `GITHUB_TOKEN` environment variable and credentials configured by `actions/checkout` or embedded in remote URLs are not substitutes for this input. When the Git CLI is enabled, `github-token` takes precedence over those repository credentials.
- [#680](https://github.com/changesets/action/pull/680) [`ca57073`](https://github.com/changesets/action/commit/ca57073900dc678254406a052a03c0c8824e319d) Thanks [@bluwy](https://github.com/bluwy)! - Add a new `push-git-tags` option that complements `create-github-releases` to control specifically if git tags should be created but not GitHub releases.
If `create-github-releases` was previously set to `false`, which also indirectly disabled git tag creation, git tags will now be created instead by default. If this is not desired, set `push-git-tags` to `false` explicitly.
- [#657](https://github.com/changesets/action/pull/657) [`4f718b5`](https://github.com/changesets/action/commit/4f718b5921490b1efeb015a81abb6a4633892851) Thanks [@Andarist](https://github.com/Andarist)! - Removed compatibility support for old Changesets v1.
- [#681](https://github.com/changesets/action/pull/681) [`7359107`](https://github.com/changesets/action/commit/73591071e61c7f61cf322dd7a6341dc29a8e1d4e) Thanks [@bluwy](https://github.com/bluwy)! - Rename the root action inputs and outputs to better match the sub-actions' conventions.
Inputs:
- `version` -> `version-script`
- `publish` -> `publish-script`
- `commit` -> `commit-message`
- `title` -> `pr-title`
- `branch` -> `pr-base-branch`
Outputs:
- `pull-request-number` -> `pr-number`
- [#674](https://github.com/changesets/action/pull/674) [`164652b`](https://github.com/changesets/action/commit/164652bdd60525670d95291addb8c6f92833ac60) Thanks [@bluwy](https://github.com/bluwy)! - Remove support for passing custom GitHub token through the GITHUB_TOKEN environment variable. It should be passed to the `github-token` input instead.
- [#659](https://github.com/changesets/action/pull/659) [`5649ff4`](https://github.com/changesets/action/commit/5649ff41b8eb1b7a281011e45df781c6d4628fd0) Thanks [@bluwy](https://github.com/bluwy)! - Remove `cwd` option for `changesets/action`. Use the step `working-directory` option instead to change the directory.
- [#673](https://github.com/changesets/action/pull/673) [`823cf74`](https://github.com/changesets/action/commit/823cf741ca57c5e22652123d3a847dfafcd77ca0) Thanks [@bluwy](https://github.com/bluwy)! - Update to Changesets v3 packages
- [#695](https://github.com/changesets/action/pull/695) [`469993c`](https://github.com/changesets/action/commit/469993ce5783c6a38e72541d4ba0d25588702b9a) Thanks [@bluwy](https://github.com/bluwy)! - Removed `.npmrc` handling when the `NPM_TOKEN` environment variable is set.
Authentication should be handled via Trusted Publishing instead. If a token is still needed, use `actions/setup-node` to set it up instead via the `registry-url` option. Check out the updated action README for more information of setting up npm authentication in GitHub Actions.
- [#668](https://github.com/changesets/action/pull/668) [`0eae789`](https://github.com/changesets/action/commit/0eae789230defbc4ad287e9b476aba7e842e34e0) Thanks [@bluwy](https://github.com/bluwy)! - Rename the input and output names to kebab-case instead of camelCase to match the official GitHub actions pattern
### Minor Changes
- [#656](https://github.com/changesets/action/pull/656) [`a12d90d`](https://github.com/changesets/action/commit/a12d90de8394e63c952622b2fd3f98c8729c48b0) Thanks [@bluwy](https://github.com/bluwy)! - Add new `/select-mode`, `/version`, and `/publish` sub-actions to better control version and publish steps
- [#678](https://github.com/changesets/action/pull/678) [`f71ae04`](https://github.com/changesets/action/commit/f71ae043ed5deb17952900091e009a60edef9507) Thanks [@Andarist](https://github.com/Andarist)! - Published packages detection done through stdout parsing was replaced with one based on the shared output file using `CHANGESETS_OUTPUT` environment variable. When using custom scripts this environment variable should always be passed down to the Changesets CLI invocations.
### Patch Changes
- [#699](https://github.com/changesets/action/pull/699) [`5b307d3`](https://github.com/changesets/action/commit/5b307d3df25daf51c41dff70d2f66df1579ae9fa) Thanks [@Andarist](https://github.com/Andarist)! - Validate that projects use Changesets CLI v3 and direct Changesets CLI v2 users to `changesets/action@v1`.
- [#697](https://github.com/changesets/action/pull/697) [`84d78c6`](https://github.com/changesets/action/commit/84d78c68f98f20e24dfff22b22193e7b4f326ad9) Thanks [@Andarist](https://github.com/Andarist)! - Allow custom publish scripts to complete without a Changesets output file, warning that GitHub releases and git tags cannot be created when that file is missing.
- [#670](https://github.com/changesets/action/pull/670) [`5a8b9b7`](https://github.com/changesets/action/commit/5a8b9b721bf683e3bf9bd72ea92a685dc024147b) Thanks [@Andarist](https://github.com/Andarist)! - Authenticate git CLI pushes with the configured GitHub token using Git extra headers instead of writing to a global `.netrc` file.
- [#670](https://github.com/changesets/action/pull/670) [`5a8b9b7`](https://github.com/changesets/action/commit/5a8b9b721bf683e3bf9bd72ea92a685dc024147b) Thanks [@Andarist](https://github.com/Andarist)! - Derive the Git server URL from the GitHub Actions context when configuring git CLI authentication to support GitHub Enterprise Server setups.
- [#688](https://github.com/changesets/action/pull/688) [`219ea82`](https://github.com/changesets/action/commit/219ea82e52caaff2a10a5e34d3455093cf958238) Thanks [@Andarist](https://github.com/Andarist)! - Remove the `setup-git-user` input. Complete custom Git identities are now preserved automatically, while `github-actions[bot]` is configured as a fallback before creating local release commits or tags.
## 2.0.0-next.5
### Patch Changes
- [#711](https://github.com/changesets/action/pull/711) [`5fa6767`](https://github.com/changesets/action/commit/5fa67671df41b7a8a9d8123e8e446b1a8ad423db) Thanks [@Andarist](https://github.com/Andarist)! - Fix support for prerelease exits using the new `.changeset/pre` layout.
## 2.0.0-next.4
### Major Changes
-1
View File
@@ -62,7 +62,6 @@ If using [trusted publishing](https://docs.npmjs.com/trusted-publishers), it's r
| `create-github-releases` | Whether to create Github releases after publish |
| `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`. |
| `push-with-git-cli` | Whether to use the Git CLI instead of the GitHub API to push release commits and tags. Defaults to `false`. When using the GitHub API, commits and tags are signed using GitHub's GPG key and attributed to the user or app that owns the `github-token`. |
| `cwd` | The working directory to execute Changesets in. Defaults to the root of the repository. |
| Outputs | Description |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
-3
View File
@@ -47,9 +47,6 @@ inputs:
GitHub's GPG key and attributed to the user or app that owns the `github-token`.
required: false
default: false
cwd:
description: "The working directory to execute Changesets in. Defaults to the root of the repository."
required: false
outputs:
published:
description: A "true" or "false" string value to indicate whether a publishing is happened or not
+3 -4
View File
@@ -17,10 +17,9 @@ This action packs publishable packages into tarballs, complements [changesets/ac
<!-- api-start -->
| Inputs | Description |
| -------------------------- | --------------------------------------------------------------------------------------- |
| `publish-plan-artifact-id` | Artifact id for a publish plan generated by the select-mode subaction |
| `cwd` | The working directory to execute Changesets in. Defaults to the root of the repository. |
| Inputs | Description |
| -------------------------- | --------------------------------------------------------------------- |
| `publish-plan-artifact-id` | Artifact id for a publish plan generated by the select-mode subaction |
| Outputs | Description |
| ---------------------- | ------------------------------------------- |
-3
View File
@@ -7,9 +7,6 @@ inputs:
publish-plan-artifact-id:
description: "Artifact id for a publish plan generated by the select-mode subaction"
required: false
cwd:
description: "The working directory to execute Changesets in. Defaults to the root of the repository."
required: false
outputs:
pack-dir-artifact-id:
description: "Artifact id for the packed output directory"
+24 -24
View File
@@ -1,6 +1,6 @@
{
"name": "@changesets/action",
"version": "2.1.2",
"version": "2.0.0-next.4",
"private": true,
"license": "MIT",
"type": "module",
@@ -23,36 +23,36 @@
"@actions/core": "^3.0.1",
"@actions/exec": "^3.0.0",
"@actions/github": "^9.1.1",
"@changesets/get-release-plan": "^5.0.2",
"@changesets/get-release-plan": "^5.0.0-next.7",
"@changesets/ghcommit": "^3.0.0",
"@changesets/git": "^4.0.1",
"@changesets/pre": "^3.0.0",
"@changesets/read": "^1.0.1",
"@changesets/git": "^4.0.0-next.6",
"@changesets/pre": "^3.0.0-next.6",
"@changesets/read": "^1.0.0-next.7",
"@manypkg/get-packages": "^3.1.0",
"@octokit/core": "^7.0.8",
"@octokit/plugin-throttling": "^11.0.5",
"human-id": "^4.2.1",
"@octokit/core": "^7.0.6",
"@octokit/plugin-throttling": "^11.0.3",
"human-id": "^4.1.3",
"markdown-table": "^3.0.4",
"semver": "^7.8.5",
"tinyexec": "^1.3.1"
"semver": "^7.8.1",
"tinyexec": "^1.2.4"
},
"devDependencies": {
"@changesets/changelog-github": "^1.0.1",
"@changesets/cli": "^3.0.3",
"@changesets/types": "^7.0.0",
"@changesets/write": "^1.0.1",
"@tsconfig/node24": "^24.0.5",
"@types/node": "^26.6.2",
"@types/semver": "^7.8.0",
"fs-fixture": "^2.16.0",
"oxfmt": "^0.70.0",
"rolldown": "^1.2.10",
"typescript": "^7.0.2",
"vitest": "^5.0.1",
"yaml": "^2.9.1"
"@changesets/changelog-github": "^1.0.0-next.6",
"@changesets/cli": "^3.0.0-next.8",
"@changesets/types": "^7.0.0-next.6",
"@changesets/write": "^1.0.0-next.6",
"@tsconfig/node24": "^24.0.4",
"@types/node": "^24.12.4",
"@types/semver": "^7.7.1",
"fs-fixture": "^2.13.0",
"oxfmt": "^0.48.0",
"rolldown": "^1.0.1",
"typescript": "^6.0.3",
"vitest": "^4.1.6",
"yaml": "^2.9.0"
},
"engines": {
"node": ">=24"
},
"packageManager": "pnpm@11.20.0+sha512.9a6f330a95b66446ea088faf1521405a8a01f07fde7124cc9958dfed52d4bb436737e65b08f85f37b46fcba375092558ac51262b816844b22f63406ed166bfee"
"packageManager": "pnpm@11.1.1+sha512.d1fdf5f73c617b64fa1a56a81c3c8dfe0e966e33a6010aa256b517ae77be21d93e05affc0de1a83b0e4f29d569f68b446ae8f068cd7247c0bb3df0fb4d7bdf9a"
}
+798 -969
View File
File diff suppressed because it is too large Load Diff
+16 -18
View File
@@ -3,24 +3,22 @@ dedupePeers: true
dedupePeerDependents: true
minimumReleaseAge: 10080
minimumReleaseAgeExclude:
- "@changesets/apply-release-plan@8.0.0"
- "@changesets/assemble-release-plan@7.0.0"
- "@changesets/changelog-git@1.0.0"
- "@changesets/changelog-github@1.0.0"
- "@changesets/cli@3.0.0"
- "@changesets/config@4.0.0"
- "@changesets/errors@1.0.0"
- "@changesets/get-dependents-graph@3.0.0"
- "@changesets/get-github-info@1.0.0"
- "@changesets/get-release-plan@5.0.0"
- "@changesets/git@4.0.0"
- "@changesets/parse@1.0.0"
- "@changesets/pre@3.0.0"
- "@changesets/read@1.0.0"
- "@changesets/should-skip-package@1.0.0"
- "@changesets/types@7.0.0"
- "@changesets/write@1.0.0"
- "vite@8.2.0"
- "@changesets/apply-release-plan@8.0.0-next.7"
- "@changesets/assemble-release-plan@7.0.0-next.7"
- "@changesets/changelog-git@1.0.0-next.6"
- "@changesets/changelog-github@1.0.0-next.6"
- "@changesets/cli@3.0.0-next.8"
- "@changesets/config@4.0.0-next.6"
- "@changesets/get-dependents-graph@3.0.0-next.6"
- "@changesets/get-github-info@1.0.0-next.3"
- "@changesets/get-release-plan@5.0.0-next.7"
- "@changesets/git@4.0.0-next.6"
- "@changesets/parse@1.0.0-next.7"
- "@changesets/pre@3.0.0-next.6"
- "@changesets/read@1.0.0-next.7"
- "@changesets/should-skip-package@1.0.0-next.6"
- "@changesets/types@7.0.0-next.6"
- "@changesets/write@1.0.0-next.6"
overrides:
lightningcss: "-" # we do not bundle any css
-1
View File
@@ -25,7 +25,6 @@ This action publishes packages to npm.
| `pack-dir-artifact-id` | Artifact id for packed publish output generated by the pack subaction |
| `create-github-releases` | Whether to create Github releases after publish |
| `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`. |
| `cwd` | The working directory to execute Changesets in. Defaults to the root of the repository. |
| Outputs | Description |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
-3
View File
@@ -26,9 +26,6 @@ inputs:
this option will also always be `true`.
required: false
default: true
cwd:
description: "The working directory to execute Changesets in. Defaults to the root of the repository."
required: false
outputs:
published:
description: A "true" or "false" string value to indicate whether a publishing has happened or not
+35 -22
View File
@@ -1,11 +1,15 @@
import { Buffer } from "node:buffer";
import path from "node:path";
import { exec } from "@actions/exec";
import { exec, getExecOutput } from "@actions/exec";
import major from "semver/functions/major.js";
import prerelease from "semver/functions/prerelease.js";
import pkgJson from "../package.json" with { type: "json" };
const tag = `v${pkgJson.version}`;
const releaseLine = `v${pkgJson.version.split(".")[0]}`;
const isPrerelease = pkgJson.version.includes("-");
const prereleaseTag = prerelease(pkgJson.version)?.[0];
const releaseLine = `v${major(pkgJson.version)}${
prereleaseTag === undefined ? "" : `-${prereleaseTag}`
}`;
const githubToken = process.env.GITHUB_TOKEN;
if (!githubToken) {
throw new Error("GITHUB_TOKEN is required");
@@ -21,27 +25,36 @@ const gitEnv = {
process.chdir(path.join(import.meta.dirname, ".."));
await exec("git", ["checkout", "--detach"]);
// Stable timestamps make retries produce the same commit when dist is unchanged.
const { stdout } = await getExecOutput("git", [
"show",
"--no-patch",
"--format=%cI",
"HEAD",
]);
const commitDate = stdout.trim();
await exec("git", ["add", "--force", "dist"]);
await exec("git", ["commit", "-m", tag]);
await exec("git", ["commit", "-m", tag], {
env: {
...process.env,
GIT_AUTHOR_DATE: commitDate,
GIT_COMMITTER_DATE: commitDate,
},
});
await exec("changeset", ["git-tag"]);
if (isPrerelease) {
await exec("git", ["push", "origin", `refs/tags/${tag}`], {
await exec(
"git",
[
"push",
"--force",
// The action pushes tags through the API; override any push.followTags config.
"--no-follow-tags",
"origin",
`HEAD:refs/heads/${releaseLine}`,
],
{
env: gitEnv,
});
} else {
await exec(
"git",
[
"push",
"--force",
"--follow-tags",
"origin",
`HEAD:refs/heads/${releaseLine}`,
],
{
env: gitEnv,
},
);
}
},
);
+1 -3
View File
@@ -20,9 +20,7 @@ This action selects the mode to run a Changesets workflow:
<!-- api-start -->
| Inputs | Description |
| ------ | --------------------------------------------------------------------------------------- |
| `cwd` | The working directory to execute Changesets in. Defaults to the root of the repository. |
Inputs: _none_
| Outputs | Description |
| -------------------------- | ---------------------------------------------------------------------------- |
+1 -4
View File
@@ -3,10 +3,7 @@ description: Whether to version or publish in the current repo state
runs:
using: node24
main: ../dist/select-mode.js
inputs:
cwd:
description: "The working directory to execute Changesets in. Defaults to the root of the repository."
required: false
inputs: {}
outputs:
mode:
description: "The mode to use for the current repo state: 'version', 'publish', or 'none'."
+72 -17
View File
@@ -1,3 +1,4 @@
import assert from "node:assert/strict";
import { Buffer } from "node:buffer";
import * as core from "@actions/core";
import { exec, getExecOutput } from "@actions/exec";
@@ -67,6 +68,19 @@ function getHttpUrl(remoteUrl: string): string | undefined {
}
}
function isAlreadyExistingRefError(error: unknown) {
return (
typeof error === "object" &&
error !== null &&
"status" in error &&
"message" in error &&
typeof error.status === "number" &&
typeof error.message === "string" &&
error.status === 422 &&
error.message.includes("Reference already exists")
);
}
export class GitHub {
readonly #githubToken: string;
readonly octokit: Octokit;
@@ -195,7 +209,7 @@ export class GitHub {
if (authorIdentity.exitCode === 0 && committerIdentity.exitCode === 0) {
return;
}
core.info("Setting git user to github-actions[bot]");
core.info("Setting Git user to github-actions[bot]");
await exec("git", ["config", "user.name", `"github-actions[bot]"`], {
cwd: this.cwd,
});
@@ -212,31 +226,72 @@ export class GitHub {
);
}
async pushTag(tag: string) {
try {
if (!this.pushWithGitCli) {
async #getRemoteTagCommit(tag: string) {
const { data: ref } = await this.octokit.rest.git.getRef({
...context.repo,
ref: `tags/${tag}`,
});
let target: { type: string; sha: string } = ref.object;
while (target.type === "tag") {
const { data: tagObject } = await this.octokit.rest.git.getTag({
...context.repo,
tag_sha: target.sha,
});
target = tagObject.object;
}
assert.equal(
target.type,
"commit",
`Tag ${tag} points to a ${target.type}, not a commit`,
);
return target.sha;
}
async pushTag(tag: string, commit = context.sha) {
if (!this.pushWithGitCli) {
try {
const { data: tagObject } = await this.octokit.rest.git.createTag({
...context.repo,
tag,
message: tag,
object: commit,
type: "commit",
});
await this.octokit.rest.git.createRef({
...context.repo,
ref: `refs/tags/${tag}`,
sha: context.sha,
});
} else {
await exec("git", ["push", "origin", tag], {
cwd: this.cwd,
env: {
...process.env,
...(await this.#getCliAuthEnv()),
} as Record<string, string>,
sha: tagObject.sha,
});
} catch (err) {
if (isAlreadyExistingRefError(err)) {
const remoteCommit = await this.#getRemoteTagCommit(tag);
assert.equal(
remoteCommit,
commit,
`Tag ${tag} points to commit ${remoteCommit}, expected ${commit}`,
);
// The tag was likely pushed by a custom publish script.
core.info(`Tag ${tag} already exists`);
return;
}
throw err;
}
} catch (err) {
core.warning(
`Failed to create git tag "${tag}". Assuming it was manually pushed by the publish script: ${(err as Error).message}`,
);
return;
}
await exec("git", ["push", "origin", tag], {
cwd: this.cwd,
env: {
...process.env,
...(await this.#getCliAuthEnv()),
} as Record<string, string>,
});
}
async prepareBranch(branch: string) {
if (!this.pushWithGitCli) {
// Preparing a new local branch is not necessary when using the API
return;
}
await switchToMaybeExistingBranch(branch, { cwd: this.cwd });
await reset(context.sha, { cwd: this.cwd });
}
+12 -13
View File
@@ -10,20 +10,15 @@ import {
validateChangesetsCliVersion,
} from "./utils.ts";
try {
await main();
} catch (err) {
core.setFailed((err as Error).message);
}
async function main() {
const cwd = getOptionalInput("cwd") || process.cwd();
(async () => {
// If the user needs to change the cwd, set `working-directory` in the step instead
const cwd = process.cwd();
await validateChangesetsCliVersion(cwd);
throwOnRenamedInputs({
publish: "publish-script",
version: "version-script",
commit: "commit-message",
commit: "commit-mesage",
title: "pr-title",
branch: "pr-base-branch",
prDraft: "pr-draft",
@@ -68,7 +63,7 @@ async function main() {
switch (true) {
case !hasChangesets && !hasPublishScript:
core.info(
"No changesets present or were removed by merging version PR. Not publishing because publish-script is not set.",
"No changesets present or were removed by merging release PR. Not publishing because no publish script found.",
);
return;
case !hasChangesets && hasPublishScript: {
@@ -104,7 +99,7 @@ async function main() {
}
if (result.exitCode !== 0) {
throw new Error(
core.error(
`Publish command exited with code ${result.exitCode}${
result.published
? `, but some packages were published: ${result.publishedPackages
@@ -113,11 +108,12 @@ async function main() {
: ""
}`,
);
process.exit(result.exitCode);
}
return;
}
case hasChangesets && !hasNonEmptyChangesets:
core.info("All changesets are empty. Not creating PR");
core.info("All changesets are empty; not creating PR");
return;
case hasChangesets: {
const { pullRequestNumber } = await runVersion({
@@ -136,4 +132,7 @@ async function main() {
return;
}
}
}
})().catch((err) => {
core.error(err);
core.setFailed(err.message);
});
+2 -1
View File
@@ -17,7 +17,8 @@ try {
}
async function main() {
const cwd = getOptionalInput("cwd") || process.cwd();
// If the user needs to change the cwd, set `working-directory` in the step instead
const cwd = process.cwd();
await validateChangesetsCliVersion(cwd);
const publishPlanArtifactId = getOptionalInput("publish-plan-artifact-id");
+2 -2
View File
@@ -53,7 +53,7 @@ Latest commit: ${commitSha}
${getReleasePlanMessage(releasePlan)}
Not sure what this means? [Click here to learn what changesets are](https://changesets.dev/faq).
Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
[Click here if you're a maintainer who wants to add another changeset to this PR](${newChangesetUrl})`;
}
@@ -72,7 +72,7 @@ Merging this PR will not cause a version bump for any packages. If these changes
${getReleasePlanMessage(releasePlan)}
[Click here to learn what changesets are, and how to add one](https://changesets.dev/faq).
[Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
[Click here if you're a maintainer who wants to add a changeset to this PR](${newChangesetUrl})`;
}
+2 -1
View File
@@ -17,7 +17,8 @@ try {
}
async function main() {
const cwd = getOptionalInput("cwd") || process.cwd();
// If the user needs to change the cwd, set `working-directory` in the step instead
const cwd = process.cwd();
await validateChangesetsCliVersion(cwd);
const githubToken = getRequiredInput("github-token");
-40
View File
@@ -1,40 +0,0 @@
import { createFixture } from "fs-fixture";
import { describe, expect, it } from "vitest";
import readChangesetState from "./readChangesetState.ts";
const changeset = `---
"pkg-a": patch
---
Fix a bug.
`;
describe("readChangesetState", () => {
it("filters versioned changesets in prerelease mode", async () => {
await using fixture = await createFixture({
".changeset/pre.json": JSON.stringify({ mode: "pre", tag: "next" }),
".changeset/pre/versioned.md": changeset,
".changeset/pending.md": changeset,
});
const state = await readChangesetState(fixture.path);
expect(state.changesets.map((changeset) => changeset.id)).toEqual([
"pending",
]);
});
it("includes versioned changesets when exiting prerelease mode", async () => {
await using fixture = await createFixture({
".changeset/pre.json": JSON.stringify({ mode: "exit", tag: "next" }),
".changeset/pre/versioned.md": changeset,
});
const state = await readChangesetState(fixture.path);
expect(state.preState).toBeUndefined();
expect(state.changesets.map((changeset) => changeset.id)).toEqual([
"pre/versioned",
]);
});
});
+3 -3
View File
@@ -14,11 +14,11 @@ export default async function readChangesetState(
let changesets = await readChangesets(cwd);
if (preState !== undefined && preState.mode === "pre") {
let changesetsToFilter = new Set(preState.changesets);
return {
preState,
changesets: changesets.filter(
(changeset) => !changeset.id.startsWith("pre/"),
),
changesets: changesets.filter((x) => !changesetsToFilter.has(x.id)),
};
}
+12 -30
View File
@@ -1,13 +1,12 @@
import path from "node:path";
import * as core from "@actions/core";
import * as github from "@actions/github";
import type { Changeset } from "@changesets/types";
import { writeChangeset } from "@changesets/write";
import { createFixture } from "fs-fixture";
import { exec } from "tinyexec";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { GitHub } from "./github.ts";
import { runPublish, runVersion } from "./run.ts";
import { gitdir } from "./test-utils.ts";
vi.mock("@actions/github", () => ({
context: {
@@ -23,12 +22,8 @@ vi.mock("@actions/github", () => ({
graphql: mockedGraphql,
}),
}));
vi.mock("@actions/core", async (importOriginal) => ({
...(await importOriginal<typeof import("@actions/core")>()),
error: vi.fn(),
notice: vi.fn(),
warning: vi.fn(),
}));
vi.mock("@actions/core", { spy: true });
const mockedWarning = vi.mocked(core.warning);
vi.mock("@changesets/ghcommit");
let mockedGithubMethods = {
@@ -45,7 +40,7 @@ let mockedGraphql = vi.fn();
const nodeModulesDir = path.join(import.meta.dirname, "..", "node_modules");
function createSimpleProjectFixture() {
return gitdir({
return createFixture({
node_modules: (api) => api.symlink(nodeModulesDir),
".changeset/config.json": JSON.stringify({}),
"packages/pkg-a/package.json": JSON.stringify({
@@ -70,7 +65,7 @@ function createSimpleProjectFixture() {
}
function createIgnoredPackageFixture() {
return gitdir({
return createFixture({
node_modules: (api) => api.symlink(nodeModulesDir),
".changeset/config.json": JSON.stringify({
ignore: ["changesets-dev-ignored-package-pkg-a"],
@@ -107,20 +102,15 @@ const createGithub = (cwd: string) =>
pushWithGitCli: false,
});
async function updateGithubContext(cwd: string) {
const head = await exec("git", ["rev-parse", "HEAD"], {
async function initializeGitRepository(cwd: string) {
await exec("git", ["init"], {
nodeOptions: { cwd },
throwOnError: true,
});
github.context.sha = head.stdout.trim();
}
function resetGithubContext() {
github.context.sha = "xeac7";
}
beforeEach(() => {
vi.clearAllMocks();
resetGithubContext();
});
afterEach(() => {
@@ -131,7 +121,7 @@ describe("publish", () => {
it("warns when a custom publish script does not create the output file", async () => {
await using fixture = await createSimpleProjectFixture();
const cwd = fixture.path;
await updateGithubContext(cwd);
await initializeGitRepository(cwd);
vi.stubEnv("RUNNER_TEMP", cwd);
const result = await runPublish({
@@ -143,7 +133,7 @@ describe("publish", () => {
});
expect(result).toEqual({ published: false, exitCode: 0 });
expect(core.warning).toHaveBeenCalledWith(
expect(mockedWarning).toHaveBeenCalledWith(
expect.stringContaining(
"GitHub releases and git tags cannot be created without this output",
),
@@ -151,7 +141,7 @@ describe("publish", () => {
});
it("throws when the built-in publish command does not create the output file", async () => {
await using fixture = await gitdir({
await using fixture = await createFixture({
"node_modules/@changesets/cli/package.json": JSON.stringify({
name: "@changesets/cli",
type: "module",
@@ -164,7 +154,7 @@ describe("publish", () => {
"package-lock.json": "",
});
const cwd = fixture.path;
await updateGithubContext(cwd);
await initializeGitRepository(cwd);
vi.stubEnv("RUNNER_TEMP", cwd);
await expect(
@@ -182,7 +172,6 @@ describe("version", () => {
it("creates simple PR", async () => {
await using fixture = await createSimpleProjectFixture();
const cwd = fixture.path;
await updateGithubContext(cwd);
mockedGithubMethods.pulls.list.mockImplementationOnce(() => ({ data: [] }));
@@ -220,7 +209,6 @@ describe("version", () => {
it('creates a draft PR when prDraft is "create"', async () => {
await using fixture = await createSimpleProjectFixture();
const cwd = fixture.path;
await updateGithubContext(cwd);
mockedGithubMethods.pulls.list.mockImplementationOnce(() => ({ data: [] }));
@@ -255,7 +243,6 @@ describe("version", () => {
it("only includes bumped packages in the PR body", async () => {
await using fixture = await createSimpleProjectFixture();
const cwd = fixture.path;
await updateGithubContext(cwd);
mockedGithubMethods.pulls.list.mockImplementationOnce(() => ({ data: [] }));
@@ -289,7 +276,6 @@ describe("version", () => {
it("doesn't include ignored package that got a dependency update in the PR body", async () => {
await using fixture = await createIgnoredPackageFixture();
const cwd = fixture.path;
await updateGithubContext(cwd);
mockedGithubMethods.pulls.list.mockImplementationOnce(() => ({ data: [] }));
@@ -323,7 +309,6 @@ describe("version", () => {
it("does not include changelog entries if full message exceeds size limit", async () => {
await using fixture = await createSimpleProjectFixture();
const cwd = fixture.path;
await updateGithubContext(cwd);
mockedGithubMethods.pulls.list.mockImplementationOnce(() => ({ data: [] }));
@@ -381,7 +366,6 @@ fluminis divesque vulnere aquis parce lapsis rabie si visa fulmineis.
it("does not include any release information if a message with simplified release info exceeds size limit", async () => {
await using fixture = await createSimpleProjectFixture();
const cwd = fixture.path;
await updateGithubContext(cwd);
mockedGithubMethods.pulls.list.mockImplementationOnce(() => ({ data: [] }));
@@ -439,7 +423,6 @@ fluminis divesque vulnere aquis parce lapsis rabie si visa fulmineis.
it('updates an existing PR via GraphQL without converting it to draft when prDraft is "create"', async () => {
await using fixture = await createSimpleProjectFixture();
const cwd = fixture.path;
await updateGithubContext(cwd);
mockedGithubMethods.pulls.list.mockImplementationOnce(() => ({
data: [{ number: 123, node_id: "PR_kwDOA" }],
@@ -472,7 +455,6 @@ fluminis divesque vulnere aquis parce lapsis rabie si visa fulmineis.
it('updates an existing PR via GraphQL and converts it to draft when prDraft is "always"', async () => {
await using fixture = await createSimpleProjectFixture();
const cwd = fixture.path;
await updateGithubContext(cwd);
mockedGithubMethods.pulls.list.mockImplementationOnce(() => ({
data: [{ number: 123, node_id: "PR_kwDOA" }],
+58 -6
View File
@@ -1,3 +1,5 @@
import assert from "node:assert/strict";
import { Buffer } from "node:buffer";
import { randomUUID } from "node:crypto";
import fs from "node:fs/promises";
import os from "node:os";
@@ -155,6 +157,45 @@ async function readChangesetsOutput(outputPath: string) {
return events;
}
type Release = {
pkg: Package;
tag: string;
commit?: string;
};
async function getTagCommits(cwd: string, tags: string[]) {
if (tags.length === 0) {
return [];
}
const refs = tags.map((tag) => `refs/tags/${tag}^{}`);
const { stdout } = await getExecOutput(
"git",
["cat-file", "--batch-check=%(objectname) %(objecttype)"],
{
cwd,
input: Buffer.from(`${refs.join("\n")}\n`),
},
);
const lines = stdout.trim().split(/\r?\n/);
assert.equal(
lines.length,
tags.length,
"Git returned an unexpected number of tag targets",
);
return lines.map((line, index) => {
if (line === `${refs[index]} missing`) {
return undefined;
}
const [commit, type] = line.split(" ");
assert.equal(
type,
"commit",
`Tag ${tags[index]} does not point to a commit`,
);
return commit;
});
}
export async function runPublish({
script,
fromPackDir,
@@ -214,7 +255,7 @@ export async function runPublish({
);
output = [];
}
let releases = output.map((event) => {
let releases: Release[] = output.map((event) => {
let pkg = packagesByName.get(event.packageName);
if (pkg === undefined) {
throw new Error(
@@ -232,11 +273,22 @@ export async function runPublish({
);
}
if (pushGitTags) {
const commits = await getTagCommits(
cwd,
releases.map(({ tag }) => tag),
);
releases = releases.map((release, index) => ({
...release,
commit: commits[index],
}));
}
if (createGithubReleases || pushGitTags) {
await Promise.all(
releases.map(async ({ pkg, tag }) => {
releases.map(async ({ pkg, tag, commit }) => {
if (pushGitTags) {
await github.pushTag(tag);
await github.pushTag(tag, commit);
}
if (createGithubReleases) {
await createRelease(octokit, { pkg, tagName: tag });
@@ -401,7 +453,7 @@ export async function runVersion({
head: `${context.repo.owner}:${versionBranch}`,
base: branch,
});
core.debug(
core.info(
`Existing pull requests: ${JSON.stringify(
existingPullRequests.data,
null,
@@ -427,7 +479,7 @@ export async function runVersion({
});
if (existingPullRequests.data.length === 0) {
core.info("Creating pull request");
core.info("creating pull request");
const { data: newPullRequest } = await octokit.rest.pulls.create({
base: branch,
head: versionBranch,
@@ -443,7 +495,7 @@ export async function runVersion({
} else {
const [pullRequest] = existingPullRequests.data;
core.info(`Updating found pull request #${pullRequest.number}`);
core.info(`updating found pull request #${pullRequest.number}`);
const convertPullRequestToDraftMutation =
prDraft === "always"
? `
+2 -6
View File
@@ -4,11 +4,7 @@ import path from "node:path";
import artifact from "@actions/artifact";
import * as core from "@actions/core";
import readChangesetState from "../readChangesetState.ts";
import {
execChangesetsCli,
getOptionalInput,
validateChangesetsCliVersion,
} from "../utils.ts";
import { execChangesetsCli, validateChangesetsCliVersion } from "../utils.ts";
type ModeResult =
| {
@@ -31,7 +27,7 @@ try {
}
async function main() {
const cwd = getOptionalInput("cwd") || process.cwd();
const cwd = process.cwd();
await validateChangesetsCliVersion(cwd);
const result = await getMode(cwd);
+2 -1
View File
@@ -15,7 +15,8 @@ try {
}
async function main() {
const cwd = getOptionalInput("cwd") || process.cwd();
// If the user needs to change the cwd, set `working-directory` in the step instead
const cwd = process.cwd();
await validateChangesetsCliVersion(cwd);
throwOnRemovedCommitModeInput();
-1
View File
@@ -31,7 +31,6 @@ This action versions packages and creates or updates a pull request with the cha
| `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. |
| `pr-base-branch` | Sets the base branch of the PR. Defaults to `github.ref_name`. |
| `push-with-git-cli` | Whether to use the Git CLI instead of the GitHub API to push release commits. Defaults to `false`. When using the GitHub API, commits are signed using GitHub's GPG key and attributed to the user or app that owns the `github-token`. |
| `cwd` | The working directory to execute Changesets in. Defaults to the root of the repository. |
| Outputs | Description |
| ----------- | --------------------------------------------------- |
-3
View File
@@ -34,9 +34,6 @@ inputs:
GPG key and attributed to the user or app that owns the `github-token`.
required: false
default: false
cwd:
description: "The working directory to execute Changesets in. Defaults to the root of the repository."
required: false
outputs:
pr-number:
description: The pull request number that was created or updated