You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit fbda4c8
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: README.md
+15-15Lines changed: 15 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ Install pnpm **and** a JavaScript runtime (Node.js, Bun, or Deno) in a single Gi
5
5
pnpm ships a self-contained release binary — the action downloads it for the runner's platform from the npm registry, refusing anything whose npm signature or checksum does not check out (no Node.js or npm needed) and then uses `pnpm runtime set` to install the requested runtime. The runtime binary is placed on `PATH` for subsequent steps, replacing the need for `actions/setup-node`, `oven-sh/setup-bun`, or `denoland/setup-deno`. `pnpm install` runs automatically when a `package.json` is present.
6
6
7
7
> [!NOTE]
8
-
> `pnpm/setup@v2` installs pnpm v11 and newer only — it relies on pnpm's self-contained release binaries and the `pnpm runtime` command, both available from v11. `v1` installed pnpm through npm and could set up pnpm 10; if you need pnpm 10 or older, use [`pnpm/action-setup`](https://github.com/pnpm/action-setup) instead.
8
+
> `pnpm/setup@v3` installs pnpm v11 and newer only — it relies on pnpm's self-contained release binaries and the `pnpm runtime` command, both available from v11. `v1` installed pnpm through npm and could set up pnpm 10; if you need pnpm 10 or older, use [`pnpm/action-setup`](https://github.com/pnpm/action-setup) instead.
9
9
>
10
10
> One caveat: pnpm v11 publishes no binary for Intel macOS (`darwin-x64`); use v12 or newer on Intel macOS runners.
11
11
@@ -64,7 +64,7 @@ jobs:
64
64
runs-on: ubuntu-latest
65
65
steps:
66
66
- uses: actions/checkout@v7
67
-
- uses: pnpm/setup@v2
67
+
- uses: pnpm/setup@v3
68
68
- run: node --version
69
69
- run: pnpm test
70
70
```
@@ -77,7 +77,7 @@ With a `.node-version`, `.nvmrc`, or Node.js entry in `.tool-versions` in the
77
77
project directory, no runtime input is needed:
78
78
79
79
```yaml
80
-
- uses: pnpm/setup@v2
80
+
- uses: pnpm/setup@v3
81
81
```
82
82
83
83
Node.js version selection uses this precedence:
@@ -96,15 +96,15 @@ another file. If no version source exists, Node.js is not installed unless
96
96
To use a different file:
97
97
98
98
```yaml
99
-
- uses: pnpm/setup@v2
99
+
- uses: pnpm/setup@v3
100
100
with:
101
101
node-version-file: config/node-version
102
102
```
103
103
104
104
To disable version-file detection:
105
105
106
106
```yaml
107
-
- uses: pnpm/setup@v2
107
+
- uses: pnpm/setup@v3
108
108
with:
109
109
node-version-file: false
110
110
```
@@ -133,7 +133,7 @@ jobs:
133
133
node: [22, 24, 26]
134
134
steps:
135
135
- uses: actions/checkout@v7
136
-
- uses: pnpm/setup@v2
136
+
- uses: pnpm/setup@v3
137
137
with:
138
138
runtime: node@${{ matrix.node }}
139
139
- run: pnpm test
@@ -142,11 +142,11 @@ jobs:
142
142
### Install Bun or Deno
143
143
144
144
```yaml
145
-
- uses: pnpm/setup@v2
145
+
- uses: pnpm/setup@v3
146
146
with:
147
147
runtime: bun@latest
148
148
149
-
- uses: pnpm/setup@v2
149
+
- uses: pnpm/setup@v3
150
150
with:
151
151
runtime: deno@2
152
152
```
@@ -157,7 +157,7 @@ When the project is not at the repository root — a site in `docs/`, an app in
157
157
`web/` — point the action at it:
158
158
159
159
```yaml
160
-
- uses: pnpm/setup@v2
160
+
- uses: pnpm/setup@v3
161
161
with:
162
162
working-directory: docs
163
163
cache: true
@@ -180,7 +180,7 @@ the project's own root is not the repository root.
180
180
### Cache the pnpm store
181
181
182
182
```yaml
183
-
- uses: pnpm/setup@v2
183
+
- uses: pnpm/setup@v3
184
184
with:
185
185
cache: true
186
186
```
@@ -234,7 +234,7 @@ known to be complete. The record count cannot be bounded there, so only the
234
234
### Require a lockfile
235
235
236
236
```yaml
237
-
- uses: pnpm/setup@v2
237
+
- uses: pnpm/setup@v3
238
238
with:
239
239
require-lockfile: true
240
240
```
@@ -278,7 +278,7 @@ and tokens together. Use YAML's `|` block to keep the JSON readable. For
278
278
example, to install `@myorg/*` packages from GitHub Packages:
279
279
280
280
```yaml
281
-
- uses: pnpm/setup@v2
281
+
- uses: pnpm/setup@v3
282
282
env:
283
283
pnpm_config__auth: |
284
284
{
@@ -294,7 +294,7 @@ Use `"@"` for a registry-wide default token. This also selects that URL as the
294
294
default registry:
295
295
296
296
```yaml
297
-
- uses: pnpm/setup@v2
297
+
- uses: pnpm/setup@v3
298
298
env:
299
299
pnpm_config__auth: |
300
300
{
@@ -319,7 +319,7 @@ See pnpm's [`_auth` documentation](https://pnpm.io/npmrc#_auth) for details.
319
319
For jobs that only need pnpm itself — e.g. `pnpm audit`, lockfile-only regeneration — set `install: false`:
320
320
321
321
```yaml
322
-
- uses: pnpm/setup@v2
322
+
- uses: pnpm/setup@v3
323
323
with:
324
324
install: false
325
325
- run: pnpm audit
@@ -339,7 +339,7 @@ pnpm 12 links global runtime bins as context-aware shims: running `node` inside
339
339
So whenever the action installs a runtime, it exports `PNPM_CONFIG_GLOBAL_SHIMS` with that runtime disabled (`{"node":false}`), leaving every other runtime at pnpm's defaults. To keep the switching behaviour, set the variable yourself — the action never overwrites a value the workflow already provides:
0 commit comments