Skip to content

Commit a88a461

Browse files
authored
ci(publish): install node 22 in the CircleCI publish job (#74)
The emsdk 3.1.74 image ships node 20.18.0, but vite 7 (transitive via vitest 3) requires ^20.19.0 || >=22.12.0, so 'yarn install' in the NPM_PUBLISH job fails its engine check and the publish never runs. Install node 22 and put it first on PATH before yarn install, mirroring the setup-node@v4 step the GitHub Actions build job already uses. emcc keeps its own configured node, so the wasm build is unaffected.
1 parent fcfb2c2 commit a88a461

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

.circleci/config.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,22 @@ executors:
1818

1919
commands:
2020
install-build-tools:
21-
description: Install yarn + cmake + C++ build deps on top of the emsdk image
21+
description: Install node + yarn + cmake + C++ build deps on top of the emsdk image
2222
steps:
2323
- run:
2424
name: Install build tooling
2525
command: |
26+
# The emsdk 3.1.74 image ships node 20.18.0, but vite 7 (pulled in
27+
# transitively by vitest 3) requires "^20.19.0 || >=22.12.0", so
28+
# `yarn install` fails its engine check. Install node 22 and put it
29+
# first on PATH for all later steps (mirrors the setup-node@v4 step
30+
# the GitHub Actions build job already uses). emcc keeps using its
31+
# own configured node, so the wasm build is unaffected.
32+
wget -qO- "https://nodejs.org/dist/v22.12.0/node-v22.12.0-linux-x64.tar.gz" \
33+
| tar --strip-components=1 -xz -C /usr/local
34+
echo 'export PATH=/usr/local/bin:$PATH' >> "$BASH_ENV"
35+
export PATH=/usr/local/bin:$PATH
36+
node --version
2637
npm install --global yarn@1.22.22
2738
apt-get update
2839
apt-get -y install build-essential

0 commit comments

Comments
 (0)