Skip to content

Commit 9a929ff

Browse files
committed
ci: hold pnpm/action-setup at v5 for the self-hosted runner
v6 rewrote the self-installer to shell out to `npm ci`. Our self-hosted Linux runner has no npm on PATH other than the one in the runner's own Node.js 24 externals, and that copy is broken: Error: Cannot find module '../lib/cli.js' Require stack: - .../externals.2.336.0/node24/bin/npm so "Test app (Android)" failed at the setup step. v4 and v5 bootstrap from a pnpm bundled inside the action and never invoke npm, and v5 is already a node24 action, so it clears the deprecation warning without taking on the new npm dependency. Also collapses the per-step ccache pin comments into one note per workflow, now covering both held-back actions. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W14eEfXdK5DYzv43MazryE
1 parent 3c44a0d commit 9a929ff

2 files changed

Lines changed: 26 additions & 26 deletions

File tree

‎.github/workflows/check.yml‎

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,26 @@ concurrency:
2525
group: ${{ github.workflow }}-${{ github.ref }}
2626
cancel-in-progress: true
2727

28+
# Two actions below are deliberately held back from their newest release, both
29+
# because of the Node.js 20 deprecation:
30+
#
31+
# - pnpm/action-setup is pinned to v5, not v6. v6 rewrote the self-installer to
32+
# shell out to `npm ci`, and our self-hosted Linux runner has no npm on PATH
33+
# beyond the runner's own Node.js 24 externals — where it is broken. v5 is a
34+
# Node.js 24 action too, and still bootstraps from a bundled pnpm, so it
35+
# clears the deprecation without the new npm dependency. Move to v6 once that
36+
# runner has a working npm.
37+
# - hendrikmuhs/ccache-action is pinned to an exact patch because its floating
38+
# v1 / v1.2 tags still point at a Node.js 20 build. Float again once upstream
39+
# moves them to >= v1.2.22.
40+
2841
jobs:
2942
lint:
3043
name: Lint
3144
runs-on: ubuntu-latest
3245
steps:
3346
- uses: actions/checkout@v7
34-
- uses: pnpm/action-setup@v6
47+
- uses: pnpm/action-setup@v5
3548
- uses: actions/setup-node@v7
3649
with:
3750
node-version: lts/krypton
@@ -41,8 +54,6 @@ jobs:
4154
with:
4255
clang-format: true
4356
- name: ccache
44-
# Pinned to an exact patch: the floating v1 / v1.2 tags still point at a
45-
# Node.js 20 build. Float again once upstream moves them to >= v1.2.22.
4657
uses: hendrikmuhs/ccache-action@v1.2.23
4758
with:
4859
key: ${{ github.job }}-${{ runner.os }}
@@ -82,7 +93,7 @@ jobs:
8293
name: Unit tests (${{ matrix.runner }})
8394
steps:
8495
- uses: actions/checkout@v7
85-
- uses: pnpm/action-setup@v6
96+
- uses: pnpm/action-setup@v5
8697
- uses: actions/setup-node@v7
8798
with:
8899
node-version: lts/krypton
@@ -92,8 +103,6 @@ jobs:
92103
with:
93104
clang-format: true
94105
- name: ccache
95-
# Pinned to an exact patch: the floating v1 / v1.2 tags still point at a
96-
# Node.js 20 build. Float again once upstream moves them to >= v1.2.22.
97106
uses: hendrikmuhs/ccache-action@v1.2.23
98107
with:
99108
key: ${{ github.job }}-${{ runner.os }}
@@ -123,7 +132,7 @@ jobs:
123132
name: Weak Node-API tests (${{ matrix.runner }})
124133
steps:
125134
- uses: actions/checkout@v7
126-
- uses: pnpm/action-setup@v6
135+
- uses: pnpm/action-setup@v5
127136
- uses: actions/setup-node@v7
128137
with:
129138
node-version: lts/krypton
@@ -133,8 +142,6 @@ jobs:
133142
with:
134143
clang-format: true
135144
- name: ccache
136-
# Pinned to an exact patch: the floating v1 / v1.2 tags still point at a
137-
# Node.js 20 build. Float again once upstream moves them to >= v1.2.22.
138145
uses: hendrikmuhs/ccache-action@v1.2.23
139146
with:
140147
key: ${{ github.job }}-${{ runner.os }}
@@ -154,7 +161,7 @@ jobs:
154161
runs-on: macos-latest
155162
steps:
156163
- uses: actions/checkout@v7
157-
- uses: pnpm/action-setup@v6
164+
- uses: pnpm/action-setup@v5
158165
- uses: actions/setup-node@v7
159166
with:
160167
node-version: lts/krypton
@@ -164,8 +171,6 @@ jobs:
164171
with:
165172
clang-format: true
166173
- name: ccache
167-
# Pinned to an exact patch: the floating v1 / v1.2 tags still point at a
168-
# Node.js 20 build. Float again once upstream moves them to >= v1.2.22.
169174
uses: hendrikmuhs/ccache-action@v1.2.23
170175
with:
171176
key: ${{ github.job }}-${{ runner.os }}
@@ -200,7 +205,7 @@ jobs:
200205
runs-on: macos-latest
201206
steps:
202207
- uses: actions/checkout@v7
203-
- uses: pnpm/action-setup@v6
208+
- uses: pnpm/action-setup@v5
204209
- uses: actions/setup-node@v7
205210
with:
206211
node-version: lts/krypton
@@ -210,8 +215,6 @@ jobs:
210215
with:
211216
clang-format: true
212217
- name: ccache
213-
# Pinned to an exact patch: the floating v1 / v1.2 tags still point at a
214-
# Node.js 20 build. Float again once upstream moves them to >= v1.2.22.
215218
uses: hendrikmuhs/ccache-action@v1.2.23
216219
with:
217220
key: ${{ github.job }}-${{ runner.os }}
@@ -250,7 +253,7 @@ jobs:
250253
runs-on: ubuntu-self-hosted
251254
steps:
252255
- uses: actions/checkout@v7
253-
- uses: pnpm/action-setup@v6
256+
- uses: pnpm/action-setup@v5
254257
- uses: actions/setup-node@v7
255258
with:
256259
node-version: lts/krypton
@@ -260,8 +263,6 @@ jobs:
260263
with:
261264
clang-format: true
262265
- name: ccache
263-
# Pinned to an exact patch: the floating v1 / v1.2 tags still point at a
264-
# Node.js 20 build. Float again once upstream moves them to >= v1.2.22.
265266
uses: hendrikmuhs/ccache-action@v1.2.23
266267
with:
267268
key: ${{ github.job }}-${{ runner.os }}
@@ -342,7 +343,7 @@ jobs:
342343
runs-on: macos-latest
343344
steps:
344345
- uses: actions/checkout@v7
345-
- uses: pnpm/action-setup@v6
346+
- uses: pnpm/action-setup@v5
346347
- uses: actions/setup-node@v7
347348
with:
348349
node-version: lts/krypton
@@ -352,8 +353,6 @@ jobs:
352353
with:
353354
clang-format: true
354355
- name: ccache
355-
# Pinned to an exact patch: the floating v1 / v1.2 tags still point at a
356-
# Node.js 20 build. Float again once upstream moves them to >= v1.2.22.
357356
uses: hendrikmuhs/ccache-action@v1.2.23
358357
with:
359358
key: ${{ github.job }}-${{ runner.os }}

‎.github/workflows/release.yml‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ on:
2020
# refreshing the "Version Packages" pull request until someone approves. The
2121
# two jobs that must not overlap carry their own groups instead.
2222

23+
# pnpm/action-setup is pinned to v5 and hendrikmuhs/ccache-action to an exact
24+
# patch, both for Node.js 20 deprecation reasons. See the note in check.yml.
25+
2326
jobs:
2427
# changesets/action's sub-actions split the "what should happen?" decision out
2528
# of the doing, which is what lets only the publish half sit behind the "main"
@@ -36,7 +39,7 @@ jobs:
3639
mode: ${{ steps.select.outputs.mode }}
3740
steps:
3841
- uses: actions/checkout@v7
39-
- uses: pnpm/action-setup@v6
42+
- uses: pnpm/action-setup@v5
4043
- uses: actions/setup-node@v7
4144
with:
4245
node-version: lts/krypton
@@ -68,7 +71,7 @@ jobs:
6871
pull-requests: write # the "Version Packages" pull request
6972
steps:
7073
- uses: actions/checkout@v7
71-
- uses: pnpm/action-setup@v6
74+
- uses: pnpm/action-setup@v5
7275
- uses: actions/setup-node@v7
7376
with:
7477
node-version: lts/krypton
@@ -95,7 +98,7 @@ jobs:
9598
id-token: write # NPM trusted publishing
9699
steps:
97100
- uses: actions/checkout@v7
98-
- uses: pnpm/action-setup@v6
101+
- uses: pnpm/action-setup@v5
99102
- uses: actions/setup-node@v7
100103
with:
101104
node-version: lts/krypton
@@ -105,8 +108,6 @@ jobs:
105108
with:
106109
clang-format: true
107110
- name: ccache
108-
# Pinned to an exact patch: the floating v1 / v1.2 tags still point at a
109-
# Node.js 20 build. Float again once upstream moves them to >= v1.2.22.
110111
uses: hendrikmuhs/ccache-action@v1.2.23
111112
with:
112113
key: ${{ github.job }}-${{ runner.os }}

0 commit comments

Comments
 (0)