From 1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 Mon Sep 17 00:00:00 2001 From: Dmitry Shibanov Date: Tue, 28 Dec 2021 12:25:43 +0300 Subject: [PATCH] Pass to warning uncaught exceptions (#359) --- dist/cache-save/index.js | 7 +++++++ src/cache-save.ts | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/dist/cache-save/index.js b/dist/cache-save/index.js index b24c7c9c..f0b1b322 100644 --- a/dist/cache-save/index.js +++ b/dist/cache-save/index.js @@ -46979,6 +46979,13 @@ const cache = __importStar(__webpack_require__(692)); const fs_1 = __importDefault(__webpack_require__(747)); const constants_1 = __webpack_require__(196); const cache_utils_1 = __webpack_require__(143); +// Catch and log any unhandled exceptions. These exceptions can leak out of the uploadChunk method in +// @actions/toolkit when a failed upload closes the file descriptor causing any in-process reads to +// throw an uncaught exception. Instead of failing this action, just warn. +process.on('uncaughtException', e => { + const warningPrefix = '[warning]'; + core.info(`${warningPrefix}${e.message}`); +}); function run() { return __awaiter(this, void 0, void 0, function* () { try { diff --git a/src/cache-save.ts b/src/cache-save.ts index 9fb0b29d..34115559 100644 --- a/src/cache-save.ts +++ b/src/cache-save.ts @@ -4,6 +4,14 @@ import fs from 'fs'; import {State} from './constants'; import {getCacheDirectoryPath, getPackageManagerInfo} from './cache-utils'; +// Catch and log any unhandled exceptions. These exceptions can leak out of the uploadChunk method in +// @actions/toolkit when a failed upload closes the file descriptor causing any in-process reads to +// throw an uncaught exception. Instead of failing this action, just warn. +process.on('uncaughtException', e => { + const warningPrefix = '[warning]'; + core.info(`${warningPrefix}${e.message}`); +}); + export async function run() { try { const cacheLock = core.getInput('cache');