diff --git a/dist/cache-save/index.js b/dist/cache-save/index.js index b24c7c9c4..f0b1b3225 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 9fb0b29d6..34115559b 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');