From a722bd2d871af02e02e4dda1b1abebb4e16bdd1d Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Mon, 16 Mar 2026 02:24:28 +0100 Subject: [PATCH] refactor: use pnpm self-update instead of installing target separately - Bootstrap pnpm via npm ci (verified by lockfile) - Use `pnpm self-update ` for explicit version - Let pnpm handle packageManager field automatically - Remove standalone/exe-specific install logic (pnpm handles this) - Update tests to not run pnpm install against the action repo itself Co-Authored-By: Claude Opus 4.6 --- .github/workflows/test.yaml | 89 +++++------------------------ dist/index.js | Bin 1425251 -> 1424574 bytes src/install-pnpm/run.ts | 109 ++++++++++++++---------------------- 3 files changed, 57 insertions(+), 141 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 2c214f3..1c163f7 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -32,8 +32,16 @@ jobs: - name: 'Test: which' run: which pnpm; which pnpx - - name: 'Test: install' - run: pnpm install + - name: 'Test: version' + run: pnpm --version + + - name: 'Test: install in a fresh project' + run: | + mkdir /tmp/test-project + cd /tmp/test-project + pnpm init + pnpm add is-odd + shell: bash test_dest: name: Test with dest @@ -62,63 +70,8 @@ jobs: - name: 'Test: which' run: which pnpm && which pnpx - - name: 'Test: install' - run: pnpm install - - test_standalone: - name: Test with standalone - - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: false - matrix: - os: - # macos is excluded from this test because node 12 is no longer available on this platform - - ubuntu-latest - - windows-latest - - standalone: - - true - - false - - steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 - - - name: Run the action - uses: ./ - with: - version: 9.15.0 - standalone: ${{ matrix.standalone }} - - - name: install Node.js - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 - with: - # pnpm@7.0.0 is not compatible with Node.js 12 - node-version: 12.22.12 - - - name: 'Test: which (pnpm)' - run: which pnpm - - - name: 'Test: which (pnpx)' - if: matrix.standalone == false - run: which pnpx - - - name: 'Test: install when standalone is true' - if: matrix.standalone - run: pnpm install - - - name: 'Test: install when standalone is false' - if: matrix.standalone == false - # Since the default shell on windows runner is pwsh, we specify bash explicitly - shell: bash - run: | - if pnpm install; then - echo "pnpm install should fail" - exit 1 - else - echo "pnpm install failed as expected" - fi + - name: 'Test: version' + run: pnpm --version test_run_install: name: 'Test with run_install (${{ matrix.run_install.name }}, ${{ matrix.os }})' @@ -137,11 +90,6 @@ jobs: run_install: - name: 'null' value: 'null' - - name: 'empty object' - value: '{}' - - name: 'recursive' - value: | - recursive: true - name: 'global' value: | args: @@ -149,15 +97,6 @@ jobs: - --global-dir=./pnpm-global - npm - yarn - - name: 'array' - value: | - - {} - - recursive: true - - args: - - --global - - --global-dir=./pnpm-global - - npm - - yarn steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 @@ -171,5 +110,5 @@ jobs: - name: 'Test: which' run: which pnpm; which pnpx - - name: 'Test: install' - run: pnpm install + - name: 'Test: version' + run: pnpm --version diff --git a/dist/index.js b/dist/index.js index 4a6f1302e451abd169c0018faa90c7ec8d759e0f..fa1f1764fc14d72cce1b35260730d2e80cb6c5b0 100644 GIT binary patch delta 74910 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 BR!0B; delta 75531 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 z { - const { version, dest, packageJsonFile, standalone } = inputs - const { GITHUB_WORKSPACE } = process.env + const { version, dest, packageJsonFile } = inputs - // Step 1: Install bootstrap pnpm via npm (integrity verified by committed lockfile) - const bootstrapDir = path.join(dest, '..', '.pnpm-bootstrap') - await rm(bootstrapDir, { recursive: true, force: true }) - await mkdir(bootstrapDir, { recursive: true }) + // Install bootstrap pnpm via npm (integrity verified by committed lockfile) + await rm(dest, { recursive: true, force: true }) + await mkdir(dest, { recursive: true }) - await writeFile(path.join(bootstrapDir, 'package.json'), BOOTSTRAP_PACKAGE_JSON) - await writeFile(path.join(bootstrapDir, 'package-lock.json'), JSON.stringify(pnpmLock)) + await writeFile(path.join(dest, 'package.json'), BOOTSTRAP_PACKAGE_JSON) + await writeFile(path.join(dest, 'package-lock.json'), JSON.stringify(pnpmLock)) - const npmExitCode = await runCommand('npm', ['ci', '--ignore-scripts'], { cwd: bootstrapDir }) + const npmExitCode = await runCommand('npm', ['ci', '--ignore-scripts'], { cwd: dest }) if (npmExitCode !== 0) { return npmExitCode } - const bootstrapPnpm = path.join(bootstrapDir, 'node_modules', 'pnpm', 'bin', 'pnpm.cjs') + const pnpmHome = path.join(dest, 'node_modules', '.bin') + addPath(pnpmHome) + exportVariable('PNPM_HOME', pnpmHome) - // Step 2: Use bootstrap pnpm to install the target version (verified via project's pnpm-lock.yaml) - await rm(dest, { recursive: true, force: true }) - await mkdir(dest, { recursive: true }) - const pkgJson = path.join(dest, 'package.json') - await writeFile(pkgJson, JSON.stringify({ private: true })) + const bootstrapPnpm = path.join(dest, 'node_modules', 'pnpm', 'bin', 'pnpm.cjs') - // copy .npmrc if it exists to install from custom registry - if (GITHUB_WORKSPACE) { - try { - await copyFile(path.join(GITHUB_WORKSPACE, '.npmrc'), path.join(dest, '.npmrc')) - } catch (error) { - // Swallow error if .npmrc doesn't exist - if (!util.types.isNativeError(error) || !('code' in error) || error.code !== 'ENOENT') throw error + // Determine the target version + const targetVersion = readTargetVersion({ version, packageJsonFile }) + + if (targetVersion) { + // Explicit version specified (via action input or packageManager field) + const exitCode = await runCommand(process.execPath, [bootstrapPnpm, 'self-update', targetVersion], { cwd: dest }) + if (exitCode !== 0) { + return exitCode } } - // prepare target pnpm - const target = await readTarget({ version, packageJsonFile, standalone }) - const installArgs = [bootstrapPnpm, 'install', target, '--no-lockfile'] - const exitCode = await runCommand(process.execPath, installArgs, { cwd: dest }) - if (exitCode === 0) { - const pnpmHome = path.join(dest, 'node_modules/.bin') - addPath(pnpmHome) - exportVariable('PNPM_HOME', pnpmHome) - - // Clean up bootstrap directory - await rm(bootstrapDir, { recursive: true, force: true }).catch(() => {}) - } - return exitCode + return 0 } -function runCommand(cmd: string, args: string[], opts: { cwd: string }): Promise { - return new Promise((resolve, reject) => { - const cp = spawn(cmd, args, { - cwd: opts.cwd, - stdio: ['pipe', 'inherit', 'inherit'], - shell: process.platform === 'win32', - }) - cp.on('error', reject) - cp.on('close', resolve) - }) -} - -async function readTarget(opts: { +function readTargetVersion(opts: { readonly version?: string | undefined readonly packageJsonFile: string - readonly standalone: boolean -}) { - const { version, packageJsonFile, standalone } = opts +}): string | undefined { + const { version, packageJsonFile } = opts const { GITHUB_WORKSPACE } = process.env - let packageManager + let packageManager: unknown if (GITHUB_WORKSPACE) { try { @@ -107,7 +79,12 @@ async function readTarget(opts: { Remove one of these versions to avoid version mismatch errors like ERR_PNPM_BAD_PM_VERSION`) } - return `${ standalone ? '@pnpm/exe' : 'pnpm' }@${version}` + return version + } + + if (typeof packageManager === 'string' && packageManager.startsWith('pnpm@')) { + // pnpm will handle version management via packageManager field + return undefined } if (!GITHUB_WORKSPACE) { @@ -117,22 +94,22 @@ please run the actions/checkout before pnpm/action-setup. Otherwise, please specify the pnpm version in the action configuration.`) } - if (typeof packageManager !== 'string') { - throw new Error(`No pnpm version is specified. + throw new Error(`No pnpm version is specified. Please specify it by one of the following ways: - in the GitHub Action config with the key "version" - in the package.json with the key "packageManager"`) - } +} - if (!packageManager.startsWith('pnpm@')) { - throw new Error('Invalid packageManager field in package.json') - } - - if (standalone) { - return packageManager.replace('pnpm@', '@pnpm/exe@') - } - - return packageManager +function runCommand(cmd: string, args: string[], opts: { cwd: string }): Promise { + return new Promise((resolve, reject) => { + const cp = spawn(cmd, args, { + cwd: opts.cwd, + stdio: ['pipe', 'inherit', 'inherit'], + shell: process.platform === 'win32', + }) + cp.on('error', reject) + cp.on('close', resolve) + }) } export default runSelfInstaller