Skip to content

Commit

Permalink
Merge pull request #1080 from akv-platform/fix-delete-cache
Browse files Browse the repository at this point in the history
Fix delete cache
  • Loading branch information
marko-zivic-93 authored Aug 24, 2023
2 parents 184e7af + 8986f62 commit 796531a
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 6 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
7 changes: 5 additions & 2 deletions dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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`);
Expand Down
11 changes: 9 additions & 2 deletions src/classes/state/state-cache-storage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,11 @@ const resetCacheWithOctokit = async (cacheKey: string): Promise<void> => {
);
} 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;
}
Expand All @@ -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) {
Expand Down

0 comments on commit 796531a

Please sign in to comment.