From 7a11463cfb24fdd6dab3df5bd598ba5828643467 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 7 Sep 2026 03:54:39 +0000 Subject: [PATCH 1/3] chore(deps): update pnpm to v12 --- impit-node/package.json | 2 +- impit-node/pnpm-lock.yaml | 101 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+), 1 deletion(-) diff --git a/impit-node/package.json b/impit-node/package.json index 138c0ef2..f794923c 100644 --- a/impit-node/package.json +++ b/impit-node/package.json @@ -53,7 +53,7 @@ "universal": "napi universal", "copy-version": "napi version" }, - "packageManager": "pnpm@10.24.0", + "packageManager": "pnpm@12.3.4", "description": "Impit for JavaScript", "optionalDependencies": { "impit-darwin-x64": "0.14.4", diff --git a/impit-node/pnpm-lock.yaml b/impit-node/pnpm-lock.yaml index b91db43d..cd4745f8 100644 --- a/impit-node/pnpm-lock.yaml +++ b/impit-node/pnpm-lock.yaml @@ -1,3 +1,104 @@ +--- +lockfileVersion: '9.0' + +importers: + + .: + configDependencies: {} + packageManagerDependencies: + pnpm: + specifier: 12.3.4 + version: 12.3.4 + +packages: + + '@pnpm/exe.darwin-arm64@12.3.4': + resolution: {integrity: sha512-PAyUol8T1+/+ViOiXAt51ECA+QnfXCqz6foL4bW+LsoX0NcVd5XVEM2mRQu+LV4oc7uRz9zf9U0P+XFfuQeDAw==} + cpu: [arm64] + os: [darwin] + + '@pnpm/exe.darwin-x64@12.3.4': + resolution: {integrity: sha512-fxP9JCk0Cdye+ePuj+GJJLMUMTqHGWRdb1dtv4How876uQ2ehxvenpgiYAir/ceO9PsYUZkFTtyZdx+rRu5QOA==} + cpu: [x64] + os: [darwin] + + '@pnpm/exe.linux-arm64-musl@12.3.4': + resolution: {integrity: sha512-FBOt0/7ye6O6q4AllVV5QMviB6qE6fqkeczV/+MDWQsmo+QJrlfsh6X7CpH/tClVpBZEyIbjpUoT8bNhCYBxEg==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@pnpm/exe.linux-arm64@12.3.4': + resolution: {integrity: sha512-t71AVA7LRqiKTyZ5xMYaZc2n5DfdpMbfokZuiIOXHBOM03ECnF0t4iYwaBDqJgVjlKYUOwaF/bRQajGNA4cJ4w==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-x64-musl@12.3.4': + resolution: {integrity: sha512-RPmk7Jb/aYaFvL2iyDN/AtMY+hUEsue732WmXpcuQ9tBpMnGyA5py7Z3+e+qmQaJ0zY/4ni9jJiyPBQHujmv6w==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@pnpm/exe.linux-x64@12.3.4': + resolution: {integrity: sha512-2ZqOlSPkfwX1h5cR+FPiWf8+F+2hZT/3TvhUK5sigHqwaQCIiq8R7CGxhndKs63JtcLi2a1Qpo+wX/EoyfjyJQ==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.win32-arm64@12.3.4': + resolution: {integrity: sha512-ANyrHqyqco6SXBysUTRF74itDyyraea7IbFsKFdNXTjcFnfycTDx37EwuhdpPYFNSIh2JhUG4fByclsRfiHX7w==} + cpu: [arm64] + os: [win32] + + '@pnpm/exe.win32-x64@12.3.4': + resolution: {integrity: sha512-WH/KqBPY/hq2Tb7SgQltEZytimcjgKRaCRL/aM9CI0c67iKc5TVmHUhIiL3Ux9FB4bWn36i6XewUcScQI+zG8w==} + cpu: [x64] + os: [win32] + + pnpm@12.3.4: + resolution: {integrity: sha512-lhqkH7B32joEpEHZ+OFevAyW2o73ELLrZ7+e58sGEOq9SPH9hfUc/+c4RnhfoPh8VqOocqHYk/hEZ0G1zORUVw==} + engines: {node: '>=18.*'} + hasBin: true + +snapshots: + + '@pnpm/exe.darwin-arm64@12.3.4': + optional: true + + '@pnpm/exe.darwin-x64@12.3.4': + optional: true + + '@pnpm/exe.linux-arm64-musl@12.3.4': + optional: true + + '@pnpm/exe.linux-arm64@12.3.4': + optional: true + + '@pnpm/exe.linux-x64-musl@12.3.4': + optional: true + + '@pnpm/exe.linux-x64@12.3.4': + optional: true + + '@pnpm/exe.win32-arm64@12.3.4': + optional: true + + '@pnpm/exe.win32-x64@12.3.4': + optional: true + + pnpm@12.3.4: + optionalDependencies: + '@pnpm/exe.darwin-arm64': 12.3.4 + '@pnpm/exe.darwin-x64': 12.3.4 + '@pnpm/exe.linux-arm64': 12.3.4 + '@pnpm/exe.linux-arm64-musl': 12.3.4 + '@pnpm/exe.linux-x64': 12.3.4 + '@pnpm/exe.linux-x64-musl': 12.3.4 + '@pnpm/exe.win32-arm64': 12.3.4 + '@pnpm/exe.win32-x64': 12.3.4 + +--- lockfileVersion: '9.0' settings: From 0d642989fd2fbd5d1762a3e94c3e98f1ee63fc36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20B=C3=A4r?= Date: Mon, 7 Sep 2026 11:27:02 +0200 Subject: [PATCH 2/3] ci(node): use corepack to install pnpm in musl docker jobs The musl build/test jobs hardcoded npm install -g pnpm@10.24.0, which no longer matches the packageManager field bumped in this PR. pnpm then tried to self-switch to the pinned version by downloading its standalone exe binary, which isn't musl-compatible and crashes with ENOEXEC. corepack reads packageManager itself, so it can't drift out of sync. --- .github/workflows/node-test.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/node-test.yaml b/.github/workflows/node-test.yaml index 37d0b840..9e925119 100644 --- a/.github/workflows/node-test.yaml +++ b/.github/workflows/node-test.yaml @@ -51,7 +51,7 @@ jobs: apk update apk upgrade rustup-init -y - npm install -g pnpm@10.24.0 + corepack enable cd impit-node && pnpm install --frozen-lockfile && pnpm build - host: ubuntu-22.04-arm target: aarch64-unknown-linux-gnu @@ -68,7 +68,7 @@ jobs: apk update apk upgrade rustup-init -y - npm install -g pnpm@10.24.0 + corepack enable rustup target add aarch64-unknown-linux-musl wget https://github.com/napi-rs/napi-rs/releases/download/linux-musl-cross%4010/aarch64-linux-musl-cross.tgz tar -xvf aarch64-linux-musl-cross.tgz @@ -236,7 +236,7 @@ jobs: run: ls -R . shell: bash - name: Test bindings - run: docker run -e CI=1 -e APIFY_HTTPBIN_TOKEN=${{ secrets.APIFY_HTTPBIN_TOKEN }} --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-slim sh -c "npm install -g pnpm@10.24.0 && cd impit-node && pnpm test" + run: docker run -e CI=1 -e APIFY_HTTPBIN_TOKEN=${{ secrets.APIFY_HTTPBIN_TOKEN }} --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-slim sh -c "corepack enable && cd impit-node && pnpm test" test-linux-aarch64-gnu-binding: name: Test bindings on Linux-aarch64-gnu - node@${{ matrix.node }} @@ -305,7 +305,7 @@ jobs: shell: bash - name: Test bindings run: | - docker run -e CI=1 -e APIFY_HTTPBIN_TOKEN=${{ secrets.APIFY_HTTPBIN_TOKEN }} --rm -v $(pwd):/build -w /build arm64v8/node:${{ matrix.node }}-alpine sh -c "npm install -g pnpm@10.24.0 && cd impit-node && pnpm install --frozen-lockfile && pnpm test" + docker run -e CI=1 -e APIFY_HTTPBIN_TOKEN=${{ secrets.APIFY_HTTPBIN_TOKEN }} --rm -v $(pwd):/build -w /build arm64v8/node:${{ matrix.node }}-alpine sh -c "corepack enable && cd impit-node && pnpm install --frozen-lockfile && pnpm test" test-linux-x64-musl-binding: name: Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }} @@ -336,4 +336,4 @@ jobs: shell: bash - name: Test bindings run: | - docker run -e CI=1 -e APIFY_HTTPBIN_TOKEN=${{ secrets.APIFY_HTTPBIN_TOKEN }} --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-alpine sh -c "npm install -g pnpm@10.24.0 && cd impit-node && pnpm install --frozen-lockfile && pnpm test" + docker run -e CI=1 -e APIFY_HTTPBIN_TOKEN=${{ secrets.APIFY_HTTPBIN_TOKEN }} --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-alpine sh -c "corepack enable && cd impit-node && pnpm install --frozen-lockfile && pnpm test" From 9ccae62322e6a83f13dbc39a6774caf8d11697d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20B=C3=A4r?= Date: Mon, 7 Sep 2026 11:48:40 +0200 Subject: [PATCH 3/3] ci(node): install pnpm via corepack on windows binding tests pnpm/action-setup bootstraps its own bundled pnpm version and relies on pnpm's self-management to switch to the packageManager-pinned one. On Windows that switch computes the new binary's path relative to wherever the bootstrap installed it, which differs by Node version and produces a broken, non-existent path on Node 22/24. corepack installs the pinned version directly, avoiding the switch. --- .github/workflows/node-test.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/node-test.yaml b/.github/workflows/node-test.yaml index 9e925119..fb3f4711 100644 --- a/.github/workflows/node-test.yaml +++ b/.github/workflows/node-test.yaml @@ -186,10 +186,24 @@ jobs: architecture: x64 - name: Install pnpm and dependencies + if: runner.os != 'Windows' uses: apify/actions/pnpm-install@v1.4.1 with: working-directory: impit-node + - name: Install pnpm and dependencies (Windows) + # pnpm/action-setup bootstraps its own bundled pnpm version, then pnpm's + # self-management switches it to the packageManager-pinned version. That + # switch computes the new binary's location relative to wherever the + # bootstrap installed it, which differs by Node version on Windows and + # produces a broken path on Node 22/24. corepack installs the pinned + # version directly, skipping the switch entirely. + if: runner.os == 'Windows' + shell: bash + run: | + corepack enable + cd impit-node && pnpm install --frozen-lockfile + - name: Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8 with: