From 624e28f5d0dca1c54e3251ea599829c44abe439b Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Thu, 7 May 2026 08:55:16 +0200 Subject: [PATCH] fix: bin_dest output points to self-updated pnpm, not bootstrap (#247) `pnpm self-update ` writes the target binary to `${PNPM_HOME}/bin/`, leaving the bootstrap symlink at `${PNPM_HOME}/pnpm` untouched. The `bin_dest` output was set to `${PNPM_HOME}`, so consumers invoking `${{ steps.pnpm.outputs.bin_dest }}/pnpm` got the bootstrap version (currently 11.0.4) instead of the version they requested. PATH lookup hid the bug: `${PNPM_HOME}/bin` was prepended ahead of `${PNPM_HOME}`, so `pnpm` resolved from PATH was the right one. Existing version-respect tests only checked `pnpm --version`, not `bin_dest`. Resolve `binDest` inside `runSelfInstaller` (target lives in `${PNPM_HOME}/bin` after self-update, otherwise stays at `${PNPM_HOME}`) and plumb it through to `setOutputs`. Add a regression test that invokes `${bin_dest}/pnpm --version` directly across Linux/macOS/Windows. --- .github/workflows/test.yaml | 39 ++++++++++++++++++++++++++++++++++++ dist/index.js | Bin 1433402 -> 1433588 bytes src/index.ts | 5 +++-- src/install-pnpm/index.ts | 10 +++++---- src/install-pnpm/run.ts | 20 ++++++++++++++---- src/outputs/index.ts | 4 +--- 6 files changed, 65 insertions(+), 13 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 66cae51..320f2e8 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -166,6 +166,45 @@ jobs: fi shell: bash + test_bin_dest_output: + name: 'Test bin_dest output points to requested version (${{ matrix.version }}, ${{ matrix.os }})' + # Regression test for #247: invoking pnpm via the `bin_dest` output returned the + # bootstrap version because self-update writes the target to `${bin_dest}/bin/`, + # not directly into `${bin_dest}/`. + + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + os: + - ubuntu-latest + - macos-latest + - windows-latest + version: + - '9.15.5' + - '10.33.2' + + steps: + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 + + - id: pnpm + name: Run the action + uses: ./ + with: + version: ${{ matrix.version }} + + - name: 'Test: bin_dest/pnpm reports requested version' + run: | + required='${{ matrix.version }}' + actual="$(${{ steps.pnpm.outputs.bin_dest }}/pnpm --version)" + echo "pnpm version via bin_dest: ${actual}" + if [ "${actual}" != "${required}" ]; then + echo "Expected pnpm version ${required}, but got ${actual}" + exit 1 + fi + shell: bash + test_package_manager_field: name: 'Test packageManager field is respected (${{ matrix.version }}, ${{ matrix.os }})' # Reproduces #227: when `packageManager` is set in package.json and no `version:` input is given, diff --git a/dist/index.js b/dist/index.js index 528b6d9721879bffbc8ba512b091e81471611979..ca637173014434a0a8ea0c95abb2e4d3c89fd370 100644 GIT binary patch delta 62688 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

~ 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 V4*&H~W|{r2$bl86;$3l3_kXR6amWAw delta 62339 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 z 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%0DAj(9)lz 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

C<{1o)a@qIy@E3QwdLfDm+>6^e|5uJRQvA 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 DOs)4f diff --git a/src/index.ts b/src/index.ts index b3c72cd..c892ded 100644 --- a/src/index.ts +++ b/src/index.ts @@ -20,9 +20,10 @@ async function main() { async function runMain(inputs: Inputs) { saveState('is_post', 'true') - await installPnpm(inputs) + const binDest = await installPnpm(inputs) + if (binDest === undefined) return console.log('Installation Completed!') - setOutputs(inputs) + setOutputs(inputs, binDest) await restoreCache(inputs) diff --git a/src/install-pnpm/index.ts b/src/install-pnpm/index.ts index 23b2695..abfe9e0 100644 --- a/src/install-pnpm/index.ts +++ b/src/install-pnpm/index.ts @@ -4,13 +4,15 @@ import runSelfInstaller from './run' export { runSelfInstaller } -export async function install(inputs: Inputs) { +export async function install(inputs: Inputs): Promise { startGroup('Running self-installer...') - const status = await runSelfInstaller(inputs) + const { exitCode, binDest } = await runSelfInstaller(inputs) endGroup() - if (status) { - return setFailed(`Something went wrong, self-installer exits with code ${status}`) + if (exitCode) { + setFailed(`Something went wrong, self-installer exits with code ${exitCode}`) + return undefined } + return binDest } export default install diff --git a/src/install-pnpm/run.ts b/src/install-pnpm/run.ts index e20fa60..6b04107 100644 --- a/src/install-pnpm/run.ts +++ b/src/install-pnpm/run.ts @@ -12,7 +12,12 @@ import exeLock from './bootstrap/exe-lock.json' const BOOTSTRAP_PNPM_PACKAGE_JSON = JSON.stringify({ private: true, dependencies: { pnpm: pnpmLock.packages['node_modules/pnpm'].version } }) const BOOTSTRAP_EXE_PACKAGE_JSON = JSON.stringify({ private: true, dependencies: { '@pnpm/exe': exeLock.packages['node_modules/@pnpm/exe'].version } }) -export async function runSelfInstaller(inputs: Inputs): Promise { +export interface SelfInstallerResult { + exitCode: number + binDest: string +} + +export async function runSelfInstaller(inputs: Inputs): Promise { const { version, dest, packageJsonFile } = inputs // pnpm v11 requires Node >= 22.13; use standalone (exe) bootstrap which @@ -45,7 +50,7 @@ export async function runSelfInstaller(inputs: Inputs): Promise { const npmEnv = { ...process.env, [pathKey]: currentPath ? currentPath + path.delimiter + nodeDir : nodeDir } const npmExitCode = await runCommand('npm', ['ci'], { cwd: dest, env: npmEnv }) if (npmExitCode !== 0) { - return npmExitCode + return { exitCode: npmExitCode, binDest: path.join(dest, 'node_modules', '.bin') } } // On Windows with standalone mode, npm's .bin shims can't properly @@ -87,11 +92,18 @@ export async function runSelfInstaller(inputs: Inputs): Promise { const args = standalone ? ['self-update', targetVersion] : [bootstrapPnpm, 'self-update', targetVersion] const exitCode = await runCommand(cmd, args, { cwd: dest }) if (exitCode !== 0) { - return exitCode + return { exitCode, binDest: pnpmHome } } + // self-update writes the target pnpm/pnpx into PNPM_HOME/bin, leaving + // the bootstrap symlinks in pnpmHome pointing at the old version. Use + // PNPM_HOME/bin so consumers of the bin_dest output (e.g. + // `${steps.pnpm.outputs.bin_dest}/pnpm`) invoke the requested version. + return { exitCode: 0, binDest: path.join(pnpmHome, 'bin') } } - return 0 + // No explicit target version: rely on the bootstrap pnpm to switch to + // the version declared in packageManager/devEngines at runtime. + return { exitCode: 0, binDest: pnpmHome } } function readTargetVersion(opts: { diff --git a/src/outputs/index.ts b/src/outputs/index.ts index 1d64199..05ea3dd 100644 --- a/src/outputs/index.ts +++ b/src/outputs/index.ts @@ -1,9 +1,7 @@ import { setOutput } from '@actions/core' import { Inputs } from '../inputs' -import { getBinDest } from '../utils' -export function setOutputs(inputs: Inputs) { - const binDest = getBinDest(inputs) +export function setOutputs(inputs: Inputs, binDest: string) { // NOTE: addPath is already called in installPnpm — do not call it again // here, as a second addPath would shadow the correct entry on Windows. setOutput('dest', inputs.dest)