Compare commits

..

1 Commits

Author SHA1 Message Date
PrinsFrank
d5bc28a41c
Merge 7dd9af18b0 into 40c3b67b29 2024-08-01 10:55:08 +02:00
2 changed files with 4 additions and 10 deletions

View File

@ -15,10 +15,6 @@ inputs:
description: 'An optional boolean when enabled, allows windows runners to save caches that can be restored on other platforms' description: 'An optional boolean when enabled, allows windows runners to save caches that can be restored on other platforms'
default: 'false' default: 'false'
required: false required: false
force-overwrite:
description: 'Delete any previous (incremental) cache before pushing a new cache even if a cache for the primary cache key exists'
default: 'false'
required: false
runs: runs:
using: 'node20' using: 'node20'
main: '../dist/save-only/index.js' main: '../dist/save-only/index.js'

View File

@ -8,6 +8,7 @@ import {
StateProvider StateProvider
} from "./stateProvider"; } from "./stateProvider";
import * as utils from "./utils/actionUtils"; import * as utils from "./utils/actionUtils";
import { issueCommand } from "@actions/core/lib/command";
// Catch and log any unhandled exceptions. These exceptions can leak out of the uploadChunk method in // 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 // @actions/toolkit when a failed upload closes the file descriptor causing any in-process reads to
@ -50,16 +51,13 @@ export async function saveImpl(
const forceOverwrite = utils.getInputAsBool(Inputs.ForceOverwrite); const forceOverwrite = utils.getInputAsBool(Inputs.ForceOverwrite);
if (utils.isExactKeyMatch(primaryKey, restoredKey) && !forceOverwrite) { if (utils.isExactKeyMatch(primaryKey, restoredKey) && !forceOverwrite) {
core.info( core.info(
`Cache hit occurred on the primary key "${primaryKey}" and force-overwrite is disabled, not saving cache.` `Cache hit occurred on the primary key ${primaryKey} and force-overwrite is disabled, not saving cache.`
); );
return; return;
} }
if ((restoredKey == undefined || utils.isExactKeyMatch(primaryKey, restoredKey)) && forceOverwrite) { if (utils.isExactKeyMatch(primaryKey, restoredKey) && forceOverwrite) {
core.info( await issueCommand('actions-cache delete', {}, primaryKey);
`Cache hit occurred on the primary key "${primaryKey}" or running as save-only and force-overwrite is enabled, deleting cache.`
);
await cache.deleteCache(primaryKey)
} }
const cachePaths = utils.getInputAsArray(Inputs.Path, { const cachePaths = utils.getInputAsArray(Inputs.Path, {