fix: report unexpected setup failures (#895)

## Summary
- add top-level uncaughtException and unhandledRejection handlers for
the setup entrypoint
- report unexpected failures through core.setFailed with stack/context
- regenerate the committed setup bundle
This commit is contained in:
Kevin Stillhammer
2026-05-31 11:17:46 +02:00
committed by GitHub
parent 8dc20b2aca
commit feda7fc6a9
2 changed files with 36 additions and 0 deletions

View File

@@ -19,6 +19,26 @@ import { resolveUvVersion } from "./version/resolve";
const sourceDir = __dirname;
function formatUnexpectedFailure(error: unknown): string {
if (error instanceof Error) {
return error.stack ?? error.message;
}
return String(error);
}
function failUnexpectedly(event: string, error: unknown): never {
core.setFailed(`${event}: ${formatUnexpectedFailure(error)}`);
process.exit(1);
}
process.on("uncaughtException", (error) => {
failUnexpectedly("Uncaught exception", error);
});
process.on("unhandledRejection", (reason) => {
failUnexpectedly("Unhandled promise rejection", reason);
});
async function getPythonVersion(inputs: SetupInputs): Promise<string> {
if (inputs.pythonVersion !== "") {
return inputs.pythonVersion;