From 0bc19ea650c097ce99320db2451dca28203b5ef8 Mon Sep 17 00:00:00 2001 From: Kevin Cui Date: Sat, 1 Aug 2026 10:02:58 -0400 Subject: [PATCH 1/2] docs(README): point users to the successor pnpm/setup action The pnpm setup action has moved to `pnpm/setup`, which installs pnpm v11+ as a self-contained native executable and can install a JavaScript runtime (Node.js, Bun, or Deno) in the same step, replacing `actions/setup-node`. Add a notice at the top of the README, a migration section with a before/after workflow example and an input/output mapping table, and mention the successor in the Notes section. The rest of the docs stay intact since `pnpm/action-setup` remains the way to install pnpm v10 and older. Signed-off-by: Kevin Cui --- README.md | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5bd5415d..40c20174 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ +> [!IMPORTANT] +> **This action has a successor: [`pnpm/setup`](https://github.com/pnpm/setup).** +> +> For pnpm v11 and newer, use [`pnpm/setup`](https://github.com/pnpm/setup) instead. It downloads pnpm's self-contained release binary (no Node.js or npm required) and can install a JavaScript runtime (Node.js, Bun, or Deno) in the same step, replacing `actions/setup-node`. +> +> `pnpm/action-setup` remains the action to use for installing pnpm v10 and older. See [Migrating to pnpm/setup](#migrating-to-pnpmsetup) below. + > ## :warning: Upgrade from v2! > > The v2 version of this action [has stopped working](https://github.com/pnpm/action-setup/issues/135) with newer Node.js versions. Please, upgrade to the latest version to fix any issues. @@ -6,6 +13,46 @@ Install pnpm package manager. +## Migrating to pnpm/setup + +[`pnpm/setup`](https://github.com/pnpm/setup) installs pnpm v11+ as a native standalone executable and can install Node.js, Bun, or Deno in the same step, so a typical workflow no longer needs `actions/setup-node` or an explicit `pnpm install` step: + +```yaml +steps: + - uses: actions/checkout@v6 + + # Before: + # - uses: pnpm/action-setup@v6 + # with: + # version: 10 + # cache: true + # - uses: actions/setup-node@v4 + # with: + # node-version: 22 + # - run: pnpm install + + # After: + - uses: pnpm/setup@v1 + with: + runtime: node@22 + cache: true +``` + +Input and output changes: + +| `pnpm/action-setup` | `pnpm/setup` | Notes | +| ------------------- | ------------ | ----- | +| `version` | `version` | Must resolve to pnpm v11 or newer. As before, it can be omitted when `packageManager` (or `devEngines.packageManager`) is set in `package.json`. | +| `dest` | `dest` | Unchanged. | +| `run_install` | `install` | `pnpm/setup` runs `pnpm install` automatically when a `package.json` is present (`install: true` by default); set `install: false` to skip it. The object/array form (`recursive`, `cwd`, `args`) is not supported — run those commands in separate steps. | +| `cache` | `cache` | Unchanged. | +| `cache_dependency_path` | `cache-dependency-path` | Renamed to kebab-case. | +| `package_json_file` | `package-json-file` | Renamed to kebab-case. | +| `standalone` | removed | `pnpm/setup` always installs the standalone native executable. | +| n/a | `runtime` | New: installs Node.js, Bun, or Deno (e.g. `node@22`, `bun@latest`, `deno@2`), or reads `devEngines.runtime` from `package.json`. | +| n/a | `token` | New: GitHub token for release lookup; defaults to `${{ github.token }}` and rarely needs to be set. | +| `bin_dest` (output) | `bin-dest` (output) | Renamed to kebab-case. New outputs `runtime-name` and `runtime-version` describe the installed runtime. | + ## Inputs ### `version` @@ -187,7 +234,7 @@ jobs: ## Notes -This action does not setup Node.js for you, use [actions/setup-node](https://github.com/actions/setup-node) yourself. +This action does not setup Node.js for you, use [actions/setup-node](https://github.com/actions/setup-node) yourself. If you are on pnpm v11 or newer, [`pnpm/setup`](https://github.com/pnpm/setup) can install pnpm and Node.js in a single step. ## License From eaee3274d6109576c4268a71418d2fecf2dc0188 Mon Sep 17 00:00:00 2001 From: Kevin Cui Date: Sun, 2 Aug 2026 22:37:01 -0400 Subject: [PATCH 2/2] docs(README): address review feedback on migration section Add an explicit version: 11 to the migration example and note when the input can be omitted, since pnpm/setup requires pnpm v11+ and a repo migrating from version: 10 may have no packageManager field or one that pins v10. Move the v2 upgrade warning below the page title so the two callouts are no longer adjacent blockquotes (markdownlint MD028), keeping the successor notice and the legacy warning as separate blocks. Fix the comma splice and use "set up" as the verb in the Notes section. Signed-off-by: Kevin Cui --- README.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 40c20174..549d5a45 100644 --- a/README.md +++ b/README.md @@ -5,14 +5,14 @@ > > `pnpm/action-setup` remains the action to use for installing pnpm v10 and older. See [Migrating to pnpm/setup](#migrating-to-pnpmsetup) below. -> ## :warning: Upgrade from v2! -> -> The v2 version of this action [has stopped working](https://github.com/pnpm/action-setup/issues/135) with newer Node.js versions. Please, upgrade to the latest version to fix any issues. - # Setup pnpm Install pnpm package manager. +> ## :warning: Upgrade from v2! +> +> The v2 version of this action [has stopped working](https://github.com/pnpm/action-setup/issues/135) with newer Node.js versions. Please, upgrade to the latest version to fix any issues. + ## Migrating to pnpm/setup [`pnpm/setup`](https://github.com/pnpm/setup) installs pnpm v11+ as a native standalone executable and can install Node.js, Bun, or Deno in the same step, so a typical workflow no longer needs `actions/setup-node` or an explicit `pnpm install` step: @@ -34,10 +34,13 @@ steps: # After: - uses: pnpm/setup@v1 with: + version: 11 runtime: node@22 cache: true ``` +The `version` input can be omitted only when `packageManager` (or `devEngines.packageManager`) in `package.json` declares pnpm v11 or newer; otherwise keep it explicit, since `pnpm/setup` requires pnpm v11+. + Input and output changes: | `pnpm/action-setup` | `pnpm/setup` | Notes | @@ -234,7 +237,7 @@ jobs: ## Notes -This action does not setup Node.js for you, use [actions/setup-node](https://github.com/actions/setup-node) yourself. If you are on pnpm v11 or newer, [`pnpm/setup`](https://github.com/pnpm/setup) can install pnpm and Node.js in a single step. +This action does not set up Node.js. Use [actions/setup-node](https://github.com/actions/setup-node) yourself. If you are on pnpm v11 or newer, [`pnpm/setup`](https://github.com/pnpm/setup) can install pnpm and Node.js in a single step. ## License