Skip to content

Commit 95e3a55

Browse files
committed
build(deps): pin all build dependency versions for reproducibility
Pin exact versions for all build dependencies across workflows: - Node.js: 22.11.0 (was: 22 or unpinned) - pnpm: 10.20.0 (was: ^10.16.0, ^10.20.0, or 10.20.0) - Python: 3.13.0 (was: '3.11' or '3.13') - Emscripten: 4.0.18 (was: latest in build-sea.yml) This ensures reproducible builds across all platforms and prevents unexpected breakage from dependency updates. Critical for C++/WASM builds where toolchain versions affect binary output.
1 parent 19ed07a commit 95e3a55

File tree

4 files changed

+22
-22
lines changed

4 files changed

+22
-22
lines changed

.github/workflows/build-sea.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,12 @@ jobs:
6969
- name: Setup Node.js
7070
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
7171
with:
72-
node-version: 22
72+
node-version: 24.10.0
7373

7474
- name: Setup pnpm
7575
uses: pnpm/action-setup@9fd676a19091d4595eefd76e4bd31c97133911f1 # v4.2.0
7676
with:
77-
version: ^10.16.0
77+
version: 10.20.0
7878

7979
- name: Install dependencies
8080
run: pnpm install --frozen-lockfile
@@ -217,13 +217,13 @@ jobs:
217217
if: steps.check-platform.outputs.should-run == 'true'
218218
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
219219
with:
220-
node-version: 22
220+
node-version: 24.10.0
221221

222222
- name: Setup pnpm
223223
if: steps.check-platform.outputs.should-run == 'true'
224224
uses: pnpm/action-setup@9fd676a19091d4595eefd76e4bd31c97133911f1 # v4.2.0
225225
with:
226-
version: ^10.16.0
226+
version: 10.20.0
227227

228228
- name: Install dependencies
229229
if: steps.check-platform.outputs.should-run == 'true'
@@ -335,7 +335,7 @@ jobs:
335335
if: steps.check-platform.outputs.should-run == 'true' && steps.yoga-cache-valid.outputs.valid != 'true' && matrix.os != 'windows'
336336
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
337337
with:
338-
python-version: '3.11'
338+
python-version: '3.13.0'
339339

340340
- name: Cache Emscripten SDK (non-Windows)
341341
if: steps.check-platform.outputs.should-run == 'true' && steps.yoga-cache-valid.outputs.valid != 'true' && matrix.os != 'windows'
@@ -375,14 +375,14 @@ jobs:
375375
echo "::group::Installing Emscripten"
376376
git clone https://github.com/emscripten-core/emsdk.git
377377
cd emsdk
378-
./emsdk install latest
379-
./emsdk activate latest
378+
./emsdk install 4.0.18
379+
./emsdk activate 4.0.18
380380
cd ..
381381
echo "::endgroup::"
382382
else
383383
echo "::group::Activating Emscripten (from cache)"
384384
cd emsdk
385-
./emsdk activate latest
385+
./emsdk activate 4.0.18
386386
cd ..
387387
echo "::endgroup::"
388388
fi

.github/workflows/build-smol.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,12 @@ jobs:
6969
- name: Setup Node.js
7070
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
7171
with:
72-
node-version: 22
72+
node-version: 22.11.0
7373

7474
- name: Setup pnpm
7575
uses: pnpm/action-setup@9fd676a19091d4595eefd76e4bd31c97133911f1 # v4.2.0
7676
with:
77-
version: ^10.16.0
77+
version: 10.20.0
7878

7979
- name: Install dependencies
8080
run: pnpm install --frozen-lockfile
@@ -214,13 +214,13 @@ jobs:
214214
if: steps.check-platform.outputs.should-run == 'true'
215215
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
216216
with:
217-
node-version: 22
217+
node-version: 22.11.0
218218

219219
- name: Setup pnpm
220220
if: steps.check-platform.outputs.should-run == 'true'
221221
uses: pnpm/action-setup@9fd676a19091d4595eefd76e4bd31c97133911f1 # v4.2.0
222222
with:
223-
version: ^10.16.0
223+
version: 10.20.0
224224

225225
- name: Install dependencies
226226
if: steps.check-platform.outputs.should-run == 'true'
@@ -293,7 +293,7 @@ jobs:
293293
if: steps.smol-cache-valid.outputs.valid != 'true' || inputs.force
294294
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
295295
with:
296-
python-version: '3.11'
296+
python-version: '3.13.0'
297297

298298
- name: Verify Python installation
299299
if: steps.smol-cache-valid.outputs.valid != 'true' || inputs.force
@@ -362,7 +362,7 @@ jobs:
362362
alpine:3.19 \
363363
sh -c "
364364
apk add --no-cache nodejs npm python3 make g++ linux-headers git ccache ninja && \
365-
npm install -g pnpm@10.16.0 && \
365+
npm install -g pnpm@10.20.0 && \
366366
pnpm --filter @socketbin/node-smol-builder run build
367367
"
368368

.github/workflows/build-wasm.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ jobs:
8282
- name: Setup Node.js
8383
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
8484
with:
85-
node-version: 22
85+
node-version: 22.11.0
8686

8787
- name: Setup pnpm
8888
uses: pnpm/action-setup@9fd676a19091d4595eefd76e4bd31c97133911f1 # v4.2.0
@@ -194,7 +194,7 @@ jobs:
194194
- name: Setup Node.js
195195
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
196196
with:
197-
node-version: 22
197+
node-version: 22.11.0
198198

199199
- name: Setup pnpm
200200
uses: pnpm/action-setup@9fd676a19091d4595eefd76e4bd31c97133911f1 # v4.2.0
@@ -204,7 +204,7 @@ jobs:
204204
- name: Setup Python
205205
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
206206
with:
207-
python-version: '3.13'
207+
python-version: '3.13.0'
208208

209209
- name: Cache pip packages
210210
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
@@ -358,7 +358,7 @@ jobs:
358358
- name: Setup Node.js
359359
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
360360
with:
361-
node-version: 22
361+
node-version: 22.11.0
362362

363363
- name: Setup pnpm
364364
uses: pnpm/action-setup@9fd676a19091d4595eefd76e4bd31c97133911f1 # v4.2.0

.github/workflows/publish-socketbin.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,13 +119,13 @@ jobs:
119119
- name: Setup Node.js
120120
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
121121
with:
122-
node-version: 22
122+
node-version: 22.11.0
123123
registry-url: 'https://registry.npmjs.org'
124124

125125
- name: Setup pnpm
126126
uses: pnpm/action-setup@9fd676a19091d4595eefd76e4bd31c97133911f1 # v4.2.0
127127
with:
128-
version: ^10.20.0
128+
version: 10.20.0
129129

130130
- name: Install dependencies
131131
run: pnpm install --frozen-lockfile
@@ -337,13 +337,13 @@ jobs:
337337
- name: Setup Node.js
338338
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
339339
with:
340-
node-version: 22
340+
node-version: 22.11.0
341341
registry-url: 'https://registry.npmjs.org'
342342

343343
- name: Setup pnpm
344344
uses: pnpm/action-setup@9fd676a19091d4595eefd76e4bd31c97133911f1 # v4.2.0
345345
with:
346-
version: ^10.20.0
346+
version: 10.20.0
347347

348348
- name: Install latest npm
349349
run: npm install -g npm@latest

0 commit comments

Comments
 (0)