mirror of
https://github.com/gradle/gradle-build-action.git
synced 2024-11-22 09:02:50 +00:00
Add explicit process.exit()
to avoid wait for hanging promises
When using the `@actions/cache` library to save cache entries, it seems that one or more Promises remain unresolved after the save completes. With Node20 this causes a delay when exiting the process: the default behaviour now wait for these Promises to complete. Adding an explicit `Process.exit()` removes the delay, returning to the Node 16 behaviour. Fixes #1038
This commit is contained in:
parent
346645706f
commit
42452daeb5
7 changed files with 16 additions and 8 deletions
1
dist/main/index.js
vendored
1
dist/main/index.js
vendored
|
@ -140762,6 +140762,7 @@ function run() {
|
||||||
core.info(error.stack);
|
core.info(error.stack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
process.exit();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
exports.run = run;
|
exports.run = run;
|
||||||
|
|
2
dist/main/index.js.map
vendored
2
dist/main/index.js.map
vendored
File diff suppressed because one or more lines are too long
4
dist/post/index.js
vendored
4
dist/post/index.js
vendored
|
@ -138072,10 +138072,12 @@ function run() {
|
||||||
catch (error) {
|
catch (error) {
|
||||||
if (error instanceof errors_1.PostActionJobFailure) {
|
if (error instanceof errors_1.PostActionJobFailure) {
|
||||||
core.setFailed(String(error));
|
core.setFailed(String(error));
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
handleFailure(error);
|
handleFailure(error);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
process.exit();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
exports.run = run;
|
exports.run = run;
|
||||||
|
|
2
dist/post/index.js.map
vendored
2
dist/post/index.js.map
vendored
File diff suppressed because one or more lines are too long
2
package-lock.json
generated
2
package-lock.json
generated
|
@ -35,7 +35,7 @@
|
||||||
"eslint-plugin-prettier": "5.1.2",
|
"eslint-plugin-prettier": "5.1.2",
|
||||||
"jest": "29.7.0",
|
"jest": "29.7.0",
|
||||||
"js-yaml": "4.1.0",
|
"js-yaml": "4.1.0",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "4.1.5",
|
||||||
"patch-package": "8.0.0",
|
"patch-package": "8.0.0",
|
||||||
"prettier": "3.1.1",
|
"prettier": "3.1.1",
|
||||||
"ts-jest": "29.1.1",
|
"ts-jest": "29.1.1",
|
||||||
|
|
|
@ -29,6 +29,9 @@ export async function run(): Promise<void> {
|
||||||
core.info(error.stack)
|
core.info(error.stack)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Explicit process.exit() to prevent waiting for hanging promises.
|
||||||
|
process.exit()
|
||||||
}
|
}
|
||||||
|
|
||||||
run()
|
run()
|
||||||
|
|
|
@ -16,13 +16,15 @@ export async function run(): Promise<void> {
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (error instanceof PostActionJobFailure) {
|
if (error instanceof PostActionJobFailure) {
|
||||||
core.setFailed(String(error))
|
core.setFailed(String(error))
|
||||||
return
|
} else {
|
||||||
}
|
|
||||||
|
|
||||||
handleFailure(error)
|
handleFailure(error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Explicit process.exit() to prevent waiting for promises left hanging by `@actions/cache` on save.
|
||||||
|
process.exit()
|
||||||
|
}
|
||||||
|
|
||||||
function handleFailure(error: unknown): void {
|
function handleFailure(error: unknown): void {
|
||||||
core.warning(`Unhandled error in Gradle post-action - job will continue: ${error}`)
|
core.warning(`Unhandled error in Gradle post-action - job will continue: ${error}`)
|
||||||
if (error instanceof Error && error.stack) {
|
if (error instanceof Error && error.stack) {
|
||||||
|
|
Loading…
Reference in a new issue