diff --git a/dist/setup/index.js b/dist/setup/index.js index 84d9adb4a..b72d2dd10 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -55335,6 +55335,7 @@ async function getManifestFromURL() { return response.result; } async function installPython(workingDirectory) { + const stderrLines = []; const options = { cwd: workingDirectory, env: { @@ -55347,15 +55348,40 @@ async function installPython(workingDirectory) { core.info(data.toString().trim()); }, stderr: (data) => { - core.error(data.toString().trim()); + const errMsg = data.toString().trim(); + core.info(`The value of errMsg is : ${errMsg}`); + if (errMsg) { + stderrLines.push(errMsg); + } } } }; - if (utils_1.IS_WINDOWS) { - await exec.exec('powershell', ['./setup.ps1'], options); + let exitCode = 0; + let execError = null; + try { + if (utils_1.IS_WINDOWS) { + exitCode = await exec.exec('powershell', ['./setup.ps1'], options); + core.info(`The value of exitCode inside windows code block is : ${exitCode}`); + } + else { + exitCode = await exec.exec('bash', ['./setup.sh'], options); + core.info(`The value of exitCode inside non-windows code block is : ${exitCode}`); + } } - else { - await exec.exec('bash', ['./setup.sh'], options); + catch (err) { + exitCode = 1; + execError = err instanceof Error ? err : new Error(String(err)); + } + for (const line of stderrLines) { + if (exitCode !== 0) { + core.error(line); + } + else { + core.warning(line); + } + } + if (execError) { + throw execError; } } async function installCpythonFromRelease(release) { diff --git a/src/install-python.ts b/src/install-python.ts index bef0161c3..4d979031e 100644 --- a/src/install-python.ts +++ b/src/install-python.ts @@ -96,6 +96,7 @@ export async function getManifestFromURL(): Promise { } async function installPython(workingDirectory: string) { + const stderrLines: string[] = []; const options: ExecOptions = { cwd: workingDirectory, env: { @@ -108,15 +109,45 @@ async function installPython(workingDirectory: string) { core.info(data.toString().trim()); }, stderr: (data: Buffer) => { - core.error(data.toString().trim()); + const errMsg = data.toString().trim(); + core.info(`The value of errMsg is : ${errMsg}`); + if (errMsg) { + stderrLines.push(errMsg); + } } } }; - if (IS_WINDOWS) { - await exec.exec('powershell', ['./setup.ps1'], options); - } else { - await exec.exec('bash', ['./setup.sh'], options); + let exitCode = 0; + let execError: Error | null = null; + + try { + if (IS_WINDOWS) { + exitCode = await exec.exec('powershell', ['./setup.ps1'], options); + core.info( + `The value of exitCode inside windows code block is : ${exitCode}` + ); + } else { + exitCode = await exec.exec('bash', ['./setup.sh'], options); + core.info( + `The value of exitCode inside non-windows code block is : ${exitCode}` + ); + } + } catch (err) { + exitCode = 1; + execError = err instanceof Error ? err : new Error(String(err)); + } + + for (const line of stderrLines) { + if (exitCode !== 0) { + core.error(line); + } else { + core.warning(line); + } + } + + if (execError) { + throw execError; } }