diff --git a/README.md b/README.md index d2c2acc36..06c2a4723 100644 --- a/README.md +++ b/README.md @@ -29,8 +29,8 @@ You can find more information about the required permissions under the correspon ## Statefulness If the action ends because of [operations-per-run](#operations-per-run) then the next run will start from the first -unprocessed issue skipping the issues proceeded during the previous run(s). The state is reset when all the issues are -proceeded. This should be considered for scheduling workflow runs. +unprocessed issue skipping the issues processed during the previous run(s). The state is reset when all the issues are +processed. This should be considered for scheduling workflow runs. The saved state lifetime is the same as the [actions cache](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy) diff --git a/dist/index.js b/dist/index.js index 343c8313a..cfcb005d8 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1636,7 +1636,7 @@ const resetCacheWithOctokit = (cacheKey) => __awaiter(void 0, void 0, void 0, fu } catch (error) { if (error.status) { - core.debug(`Cache ${cacheKey} does not exist`); + core.warning(`Error delete ${cacheKey}: [${error.status}] ${error.message || 'Unknown reason'}`); } else { throw error; @@ -1650,7 +1650,10 @@ class StateCacheStorage { const filePath = path_1.default.join(tmpDir, STATE_FILE); fs_1.default.writeFileSync(filePath, serializedState); try { - yield resetCacheWithOctokit(CACHE_KEY); + const cacheExists = yield checkIfCacheExists(CACHE_KEY); + if (cacheExists) { + yield resetCacheWithOctokit(CACHE_KEY); + } const fileSize = fs_1.default.statSync(filePath).size; if (fileSize === 0) { core.info(`the state will be removed`); diff --git a/src/classes/state/state-cache-storage.ts b/src/classes/state/state-cache-storage.ts index 848872a30..b30b503b6 100644 --- a/src/classes/state/state-cache-storage.ts +++ b/src/classes/state/state-cache-storage.ts @@ -54,7 +54,11 @@ const resetCacheWithOctokit = async (cacheKey: string): Promise => { ); } catch (error) { if (error.status) { - core.debug(`Cache ${cacheKey} does not exist`); + core.warning( + `Error delete ${cacheKey}: [${error.status}] ${ + error.message || 'Unknown reason' + }` + ); } else { throw error; } @@ -67,7 +71,10 @@ export class StateCacheStorage implements IStateStorage { fs.writeFileSync(filePath, serializedState); try { - await resetCacheWithOctokit(CACHE_KEY); + const cacheExists = await checkIfCacheExists(CACHE_KEY); + if (cacheExists) { + await resetCacheWithOctokit(CACHE_KEY); + } const fileSize = fs.statSync(filePath).size; if (fileSize === 0) {