fix: append (not prepend) action node dir to PATH for npm bootstrap (#241)
Some checks are pending
Test Action / Test with dest (ubuntu-latest, 9.15.5) (push) Waiting to run
Test Action / Test with dest (windows-latest, 9.15.5) (push) Waiting to run
Test Action / Test with standalone (ubuntu-latest) (push) Waiting to run
Test Action / Test with standalone (windows-latest) (push) Waiting to run
Test Action / Test version input is actually installed (10.33.0, macos-latest) (push) Waiting to run
Test Action / Test version input is actually installed (9.15.5, macos-latest) (push) Waiting to run
Test Action / Test version input is actually installed (9.15.5, ubuntu-latest) (push) Waiting to run
Test Action / Test version input is actually installed (10.33.0, windows-latest) (push) Waiting to run
Test Action / Test packageManager field is respected (10.33.0, macos-latest) (push) Waiting to run
Test Action / Test version input is actually installed (10.33.0, ubuntu-latest) (push) Waiting to run
Test Action / Test packageManager field is respected (9.15.5, macos-latest) (push) Waiting to run
Test Action / Test packageManager field is respected (10.33.0, ubuntu-latest) (push) Waiting to run
Test Action / Test packageManager field is respected (9.15.5, ubuntu-latest) (push) Waiting to run
Test Action / Test packageManager field is respected (9.15.5, windows-latest) (push) Waiting to run
Test Action / Test with devEngines.packageManager (macos-latest, 9.15.5) (push) Waiting to run
Test Action / Test with devEngines.packageManager (macos-latest, >=9.15.0) (push) Waiting to run
Test Action / Test with devEngines.packageManager (ubuntu-latest, 9.15.5) (push) Waiting to run
Test Action / Test with devEngines.packageManager (windows-latest, >=9.15.0) (push) Waiting to run
Test Action / Test with run_install (null, ubuntu-latest) (push) Waiting to run
Test Action / Test with run_install (global, windows-latest) (push) Waiting to run
Test Action / Test packageManager field is respected (10.33.0, windows-latest) (push) Waiting to run
Test Action / Test with devEngines.packageManager (ubuntu-latest, >=9.15.0) (push) Waiting to run
Test Action / Test with devEngines.packageManager (windows-latest, 9.15.5) (push) Waiting to run
Test Action / Test with run_install (global, macos-latest) (push) Waiting to run
Test Action / Test with run_install (null, macos-latest) (push) Waiting to run
Test Action / Test with run_install (global, ubuntu-latest) (push) Waiting to run
Test Action / Test with run_install (null, windows-latest) (push) Waiting to run
Test Action / Test with default inputs (macos-latest, 9.15.5) (push) Waiting to run
Test Action / Test with default inputs (ubuntu-latest, 9.15.5) (push) Waiting to run
Test Action / Test version input is actually installed (9.15.5, windows-latest) (push) Waiting to run
Test Action / Test with default inputs (windows-latest, 9.15.5) (push) Waiting to run
Test Action / Test with dest (macos-latest, 9.15.5) (push) Waiting to run
Some checks are pending
Test Action / Test with dest (ubuntu-latest, 9.15.5) (push) Waiting to run
Test Action / Test with dest (windows-latest, 9.15.5) (push) Waiting to run
Test Action / Test with standalone (ubuntu-latest) (push) Waiting to run
Test Action / Test with standalone (windows-latest) (push) Waiting to run
Test Action / Test version input is actually installed (10.33.0, macos-latest) (push) Waiting to run
Test Action / Test version input is actually installed (9.15.5, macos-latest) (push) Waiting to run
Test Action / Test version input is actually installed (9.15.5, ubuntu-latest) (push) Waiting to run
Test Action / Test version input is actually installed (10.33.0, windows-latest) (push) Waiting to run
Test Action / Test packageManager field is respected (10.33.0, macos-latest) (push) Waiting to run
Test Action / Test version input is actually installed (10.33.0, ubuntu-latest) (push) Waiting to run
Test Action / Test packageManager field is respected (9.15.5, macos-latest) (push) Waiting to run
Test Action / Test packageManager field is respected (10.33.0, ubuntu-latest) (push) Waiting to run
Test Action / Test packageManager field is respected (9.15.5, ubuntu-latest) (push) Waiting to run
Test Action / Test packageManager field is respected (9.15.5, windows-latest) (push) Waiting to run
Test Action / Test with devEngines.packageManager (macos-latest, 9.15.5) (push) Waiting to run
Test Action / Test with devEngines.packageManager (macos-latest, >=9.15.0) (push) Waiting to run
Test Action / Test with devEngines.packageManager (ubuntu-latest, 9.15.5) (push) Waiting to run
Test Action / Test with devEngines.packageManager (windows-latest, >=9.15.0) (push) Waiting to run
Test Action / Test with run_install (null, ubuntu-latest) (push) Waiting to run
Test Action / Test with run_install (global, windows-latest) (push) Waiting to run
Test Action / Test packageManager field is respected (10.33.0, windows-latest) (push) Waiting to run
Test Action / Test with devEngines.packageManager (ubuntu-latest, >=9.15.0) (push) Waiting to run
Test Action / Test with devEngines.packageManager (windows-latest, 9.15.5) (push) Waiting to run
Test Action / Test with run_install (global, macos-latest) (push) Waiting to run
Test Action / Test with run_install (null, macos-latest) (push) Waiting to run
Test Action / Test with run_install (global, ubuntu-latest) (push) Waiting to run
Test Action / Test with run_install (null, windows-latest) (push) Waiting to run
Test Action / Test with default inputs (macos-latest, 9.15.5) (push) Waiting to run
Test Action / Test with default inputs (ubuntu-latest, 9.15.5) (push) Waiting to run
Test Action / Test version input is actually installed (9.15.5, windows-latest) (push) Waiting to run
Test Action / Test with default inputs (windows-latest, 9.15.5) (push) Waiting to run
Test Action / Test with dest (macos-latest, 9.15.5) (push) Waiting to run
This commit is contained in:
parent
26f6d4f2c5
commit
8912a9102a
2
dist/index.js
vendored
2
dist/index.js
vendored
File diff suppressed because one or more lines are too long
@ -29,16 +29,20 @@ export async function runSelfInstaller(inputs: Inputs): Promise<number> {
|
||||
await writeFile(path.join(dest, 'package.json'), packageJson)
|
||||
await writeFile(path.join(dest, 'package-lock.json'), JSON.stringify(lockfile))
|
||||
|
||||
// Prepend the action's node directory to PATH so npm's
|
||||
// Append the action's node directory to PATH so npm's
|
||||
// `#!/usr/bin/env node` shebang resolves on runners (e.g. GHE
|
||||
// self-hosted) where node isn't already on PATH. npm itself is
|
||||
// resolved via PATH — on the GitHub Actions runner it is not
|
||||
// co-located with `process.execPath`.
|
||||
// self-hosted) where node isn't already on PATH. Append (not
|
||||
// prepend) so a user-installed toolchain on PATH — e.g. from a
|
||||
// prior `setup-node` step — keeps precedence; otherwise the
|
||||
// runner-bundled node would shadow it and pair the user's npm
|
||||
// with a mismatched node version. npm itself is resolved via
|
||||
// PATH — on the GitHub Actions runner it is not co-located with
|
||||
// `process.execPath`.
|
||||
const nodeDir = path.dirname(process.execPath)
|
||||
// On Windows, the PATH key casing varies; search case-insensitively.
|
||||
const pathKey = Object.keys(process.env).find(k => k.toUpperCase() === 'PATH') ?? 'PATH'
|
||||
const currentPath = process.env[pathKey]
|
||||
const npmEnv = { ...process.env, [pathKey]: currentPath ? nodeDir + path.delimiter + currentPath : nodeDir }
|
||||
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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user