From 01da663869561a2eadad34b2f671a75b7974fb91 Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Thu, 7 May 2026 08:59:18 +0200 Subject: [PATCH] test(ci): pass bin_dest via env to survive Windows backslashes Direct GitHub-expression interpolation of `${{ steps.pnpm.outputs.bin_dest }}` into the bash script let bash eat the backslashes in the Windows path (`C:Usersrunneradminsetup-pnpmnode_modules.binbin/pnpm`), failing with "No such file or directory". Forward the value via env so the path reaches bash unmangled. --- .github/workflows/test.yaml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 320f2e8..c0e183b 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -195,12 +195,16 @@ jobs: version: ${{ matrix.version }} - name: 'Test: bin_dest/pnpm reports requested version' + # Pass paths via env, not template interpolation, so Windows + # backslashes in `bin_dest` aren't eaten by bash's escape handling. + env: + BIN_DEST: ${{ steps.pnpm.outputs.bin_dest }} + REQUIRED: ${{ matrix.version }} run: | - required='${{ matrix.version }}' - actual="$(${{ steps.pnpm.outputs.bin_dest }}/pnpm --version)" + actual="$("$BIN_DEST/pnpm" --version)" echo "pnpm version via bin_dest: ${actual}" - if [ "${actual}" != "${required}" ]; then - echo "Expected pnpm version ${required}, but got ${actual}" + if [ "${actual}" != "${REQUIRED}" ]; then + echo "Expected pnpm version ${REQUIRED}, but got ${actual}" exit 1 fi shell: bash