mirror of
https://code.forgejo.org/actions/setup-python.git
synced 2025-02-22 10:25:45 -05:00
Add error handling for Windows 'pip cache dir' execution
This commit is contained in:
parent
6ca8e8598f
commit
5e5f66be2b
2 changed files with 19 additions and 18 deletions
19
dist/setup/index.js
vendored
19
dist/setup/index.js
vendored
|
@ -98893,24 +98893,25 @@ class PipCache extends cache_distributor_1.default {
|
|||
}
|
||||
getCacheGlobalDirectories() {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
let exitCode = 1;
|
||||
let exitCode = 0;
|
||||
let stdout = '';
|
||||
let stderr = '';
|
||||
// Add temporary fix for Windows
|
||||
// On windows it is necessary to execute through an exec
|
||||
// because the getExecOutput gives a non zero code or writes to stderr for pip 22.0.2,
|
||||
// On Windows, it is necessary to execute through an exec
|
||||
// because the getExecOutput gives a non-zero code or writes to stderr for pip 22.0.2,
|
||||
// or spawn must be started with the shell option enabled for getExecOutput
|
||||
// Related issue: https://github.com/actions/setup-python/issues/328
|
||||
if (utils_1.IS_WINDOWS) {
|
||||
const execPromisify = util_1.default.promisify(child_process.exec);
|
||||
({ stdout: stdout, stderr: stderr } = yield execPromisify('pip cache dir'));
|
||||
try {
|
||||
({ stdout, stderr } = yield execPromisify('pip cache dir'));
|
||||
}
|
||||
catch (err) {
|
||||
exitCode = 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
({
|
||||
stdout: stdout,
|
||||
stderr: stderr,
|
||||
exitCode: exitCode
|
||||
} = yield exec.getExecOutput('pip cache dir'));
|
||||
({ stdout, stderr, exitCode } = yield exec.getExecOutput('pip cache dir'));
|
||||
}
|
||||
if (exitCode && stderr) {
|
||||
throw new Error(`Could not get cache folder path for pip package manager`);
|
||||
|
|
|
@ -21,24 +21,24 @@ class PipCache extends CacheDistributor {
|
|||
}
|
||||
|
||||
protected async getCacheGlobalDirectories() {
|
||||
let exitCode = 1;
|
||||
let exitCode = 0;
|
||||
let stdout = '';
|
||||
let stderr = '';
|
||||
|
||||
// Add temporary fix for Windows
|
||||
// On windows it is necessary to execute through an exec
|
||||
// because the getExecOutput gives a non zero code or writes to stderr for pip 22.0.2,
|
||||
// On Windows, it is necessary to execute through an exec
|
||||
// because the getExecOutput gives a non-zero code or writes to stderr for pip 22.0.2,
|
||||
// or spawn must be started with the shell option enabled for getExecOutput
|
||||
// Related issue: https://github.com/actions/setup-python/issues/328
|
||||
if (IS_WINDOWS) {
|
||||
const execPromisify = utils.promisify(child_process.exec);
|
||||
({stdout: stdout, stderr: stderr} = await execPromisify('pip cache dir'));
|
||||
try {
|
||||
({stdout, stderr} = await execPromisify('pip cache dir'));
|
||||
} catch (err) {
|
||||
exitCode = 1;
|
||||
}
|
||||
} else {
|
||||
({
|
||||
stdout: stdout,
|
||||
stderr: stderr,
|
||||
exitCode: exitCode
|
||||
} = await exec.getExecOutput('pip cache dir'));
|
||||
({stdout, stderr, exitCode} = await exec.getExecOutput('pip cache dir'));
|
||||
}
|
||||
|
||||
if (exitCode && stderr) {
|
||||
|
|
Loading…
Add table
Reference in a new issue