Some checks failed
Test Action / Test with default inputs (macos-latest, 4.11.1) (push) Has been cancelled
Test Action / Test with default inputs (ubuntu-latest, 4.11.1) (push) Has been cancelled
Test Action / Test with default inputs (windows-latest, 4.11.1) (push) Has been cancelled
Test Action / Test with explicit inputs (macos-latest, 4.11.1) (push) Has been cancelled
Test Action / Test with explicit inputs (ubuntu-latest, 4.11.1) (push) Has been cancelled
Test Action / Test with explicit inputs (windows-latest, 4.11.1) (push) Has been cancelled
Test Action / Test with run_install (array, macos-latest) (push) Has been cancelled
Test Action / Test with run_install (empty object, macos-latest) (push) Has been cancelled
Test Action / Test with run_install (global, macos-latest) (push) Has been cancelled
Test Action / Test with run_install (null, macos-latest) (push) Has been cancelled
Test Action / Test with run_install (recursive, macos-latest) (push) Has been cancelled
Test Action / Test with run_install (array, ubuntu-latest) (push) Has been cancelled
Test Action / Test with run_install (empty object, ubuntu-latest) (push) Has been cancelled
Test Action / Test with run_install (global, ubuntu-latest) (push) Has been cancelled
Test Action / Test with run_install (null, ubuntu-latest) (push) Has been cancelled
Test Action / Test with run_install (recursive, ubuntu-latest) (push) Has been cancelled
Test Action / Test with run_install (array, windows-latest) (push) Has been cancelled
Test Action / Test with run_install (empty object, windows-latest) (push) Has been cancelled
Test Action / Test with run_install (global, windows-latest) (push) Has been cancelled
Test Action / Test with run_install (null, windows-latest) (push) Has been cancelled
Test Action / Test with run_install (recursive, windows-latest) (push) Has been cancelled
39 lines
914 B
TypeScript
39 lines
914 B
TypeScript
import { setFailed, startGroup, endGroup } from '@actions/core'
|
|
import { spawnSync } from 'child_process'
|
|
import { Inputs } from '../inputs'
|
|
import { patchPnpmEnv } from '../utils'
|
|
|
|
export function runPnpmInstall(inputs: Inputs) {
|
|
const env = patchPnpmEnv(inputs)
|
|
|
|
for (const options of inputs.runInstall) {
|
|
const args = ['install']
|
|
if (options.recursive) args.unshift('recursive')
|
|
if (options.args) args.push(...options.args)
|
|
|
|
const cmdStr = ['pnpm', ...args].join(' ')
|
|
startGroup(`Running ${cmdStr}...`)
|
|
|
|
const { error, status } = spawnSync('pnpm', args, {
|
|
stdio: 'inherit',
|
|
cwd: options.cwd,
|
|
shell: true,
|
|
env,
|
|
})
|
|
|
|
endGroup()
|
|
|
|
if (error) {
|
|
setFailed(error)
|
|
continue
|
|
}
|
|
|
|
if (status) {
|
|
setFailed(`Command ${cmdStr} (cwd: ${options.cwd}) exits with status ${status}`)
|
|
continue
|
|
}
|
|
}
|
|
}
|
|
|
|
export default runPnpmInstall
|