1
0
Fork 0
mirror of https://code.forgejo.org/actions/cache.git synced 2025-04-22 12:46:17 +02:00
This commit is contained in:
Timo Rothenpieler 2025-04-15 18:06:23 +00:00 committed by GitHub
commit f53083e499
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 24 additions and 12 deletions

View file

@ -76,6 +76,7 @@ If you are using a `self-hosted` Windows runner, `GNU tar` and `zstd` are requir
* `enableCrossOsArchive` - An optional boolean when enabled, allows Windows runners to save or restore caches that can be restored or saved respectively on other platforms. Default: `false` * `enableCrossOsArchive` - An optional boolean when enabled, allows Windows runners to save or restore caches that can be restored or saved respectively on other platforms. Default: `false`
* `fail-on-cache-miss` - Fail the workflow if cache entry is not found. Default: `false` * `fail-on-cache-miss` - Fail the workflow if cache entry is not found. Default: `false`
* `lookup-only` - If true, only checks if cache entry exists and skips download. Does not change save cache behavior. Default: `false` * `lookup-only` - If true, only checks if cache entry exists and skips download. Does not change save cache behavior. Default: `false`
* `reeval-key` - A boolean which causes the key to be re-evaluated during the Post-Action step
#### Environment Variables #### Environment Variables

View file

@ -34,6 +34,10 @@ inputs:
save-always does not work as intended and will be removed in a future release. save-always does not work as intended and will be removed in a future release.
A separate `actions/cache/restore` step should be used instead. A separate `actions/cache/restore` step should be used instead.
See https://github.com/actions/cache/tree/main/save#always-save-cache for more details. See https://github.com/actions/cache/tree/main/save#always-save-cache for more details.
reeval-key:
description: 'Re-evaluate the cache key during the post-action'
required: false
default: false
outputs: outputs:
cache-hit: cache-hit:
description: 'A boolean value to indicate an exact match was found for the primary key' description: 'A boolean value to indicate an exact match was found for the primary key'

View file

@ -64911,7 +64911,8 @@ var Inputs;
Inputs["UploadChunkSize"] = "upload-chunk-size"; Inputs["UploadChunkSize"] = "upload-chunk-size";
Inputs["EnableCrossOsArchive"] = "enableCrossOsArchive"; Inputs["EnableCrossOsArchive"] = "enableCrossOsArchive";
Inputs["FailOnCacheMiss"] = "fail-on-cache-miss"; Inputs["FailOnCacheMiss"] = "fail-on-cache-miss";
Inputs["LookupOnly"] = "lookup-only"; // Input for cache, restore action Inputs["LookupOnly"] = "lookup-only";
Inputs["ReEvalKey"] = "reeval-key";
})(Inputs = exports.Inputs || (exports.Inputs = {})); })(Inputs = exports.Inputs || (exports.Inputs = {}));
var Outputs; var Outputs;
(function (Outputs) { (function (Outputs) {

View file

@ -64911,7 +64911,8 @@ var Inputs;
Inputs["UploadChunkSize"] = "upload-chunk-size"; Inputs["UploadChunkSize"] = "upload-chunk-size";
Inputs["EnableCrossOsArchive"] = "enableCrossOsArchive"; Inputs["EnableCrossOsArchive"] = "enableCrossOsArchive";
Inputs["FailOnCacheMiss"] = "fail-on-cache-miss"; Inputs["FailOnCacheMiss"] = "fail-on-cache-miss";
Inputs["LookupOnly"] = "lookup-only"; // Input for cache, restore action Inputs["LookupOnly"] = "lookup-only";
Inputs["ReEvalKey"] = "reeval-key";
})(Inputs = exports.Inputs || (exports.Inputs = {})); })(Inputs = exports.Inputs || (exports.Inputs = {}));
var Outputs; var Outputs;
(function (Outputs) { (function (Outputs) {

View file

@ -64911,7 +64911,8 @@ var Inputs;
Inputs["UploadChunkSize"] = "upload-chunk-size"; Inputs["UploadChunkSize"] = "upload-chunk-size";
Inputs["EnableCrossOsArchive"] = "enableCrossOsArchive"; Inputs["EnableCrossOsArchive"] = "enableCrossOsArchive";
Inputs["FailOnCacheMiss"] = "fail-on-cache-miss"; Inputs["FailOnCacheMiss"] = "fail-on-cache-miss";
Inputs["LookupOnly"] = "lookup-only"; // Input for cache, restore action Inputs["LookupOnly"] = "lookup-only";
Inputs["ReEvalKey"] = "reeval-key";
})(Inputs = exports.Inputs || (exports.Inputs = {})); })(Inputs = exports.Inputs || (exports.Inputs = {}));
var Outputs; var Outputs;
(function (Outputs) { (function (Outputs) {
@ -64996,8 +64997,9 @@ function saveImpl(stateProvider) {
} }
// If restore has stored a primary key in state, reuse that // If restore has stored a primary key in state, reuse that
// Else re-evaluate from inputs // Else re-evaluate from inputs
const primaryKey = stateProvider.getState(constants_1.State.CachePrimaryKey) || const primaryKey = core.getBooleanInput(constants_1.Inputs.ReEvalKey)
core.getInput(constants_1.Inputs.Key); ? core.getInput(constants_1.Inputs.Key)
: (stateProvider.getState(constants_1.State.CachePrimaryKey) || core.getInput(constants_1.Inputs.Key));
if (!primaryKey) { if (!primaryKey) {
utils.logWarning(`Key is not specified.`); utils.logWarning(`Key is not specified.`);
return; return;

8
dist/save/index.js vendored
View file

@ -64911,7 +64911,8 @@ var Inputs;
Inputs["UploadChunkSize"] = "upload-chunk-size"; Inputs["UploadChunkSize"] = "upload-chunk-size";
Inputs["EnableCrossOsArchive"] = "enableCrossOsArchive"; Inputs["EnableCrossOsArchive"] = "enableCrossOsArchive";
Inputs["FailOnCacheMiss"] = "fail-on-cache-miss"; Inputs["FailOnCacheMiss"] = "fail-on-cache-miss";
Inputs["LookupOnly"] = "lookup-only"; // Input for cache, restore action Inputs["LookupOnly"] = "lookup-only";
Inputs["ReEvalKey"] = "reeval-key";
})(Inputs = exports.Inputs || (exports.Inputs = {})); })(Inputs = exports.Inputs || (exports.Inputs = {}));
var Outputs; var Outputs;
(function (Outputs) { (function (Outputs) {
@ -64996,8 +64997,9 @@ function saveImpl(stateProvider) {
} }
// If restore has stored a primary key in state, reuse that // If restore has stored a primary key in state, reuse that
// Else re-evaluate from inputs // Else re-evaluate from inputs
const primaryKey = stateProvider.getState(constants_1.State.CachePrimaryKey) || const primaryKey = core.getBooleanInput(constants_1.Inputs.ReEvalKey)
core.getInput(constants_1.Inputs.Key); ? core.getInput(constants_1.Inputs.Key)
: (stateProvider.getState(constants_1.State.CachePrimaryKey) || core.getInput(constants_1.Inputs.Key));
if (!primaryKey) { if (!primaryKey) {
utils.logWarning(`Key is not specified.`); utils.logWarning(`Key is not specified.`);
return; return;

View file

@ -5,7 +5,8 @@ export enum Inputs {
UploadChunkSize = "upload-chunk-size", // Input for cache, save action UploadChunkSize = "upload-chunk-size", // Input for cache, save action
EnableCrossOsArchive = "enableCrossOsArchive", // Input for cache, restore, save action EnableCrossOsArchive = "enableCrossOsArchive", // Input for cache, restore, save action
FailOnCacheMiss = "fail-on-cache-miss", // Input for cache, restore action FailOnCacheMiss = "fail-on-cache-miss", // Input for cache, restore action
LookupOnly = "lookup-only" // Input for cache, restore action LookupOnly = "lookup-only", // Input for cache, restore action
ReEvalKey = "reeval-key"
} }
export enum Outputs { export enum Outputs {

View file

@ -34,9 +34,9 @@ export async function saveImpl(
// If restore has stored a primary key in state, reuse that // If restore has stored a primary key in state, reuse that
// Else re-evaluate from inputs // Else re-evaluate from inputs
const primaryKey = const primaryKey = core.getBooleanInput(Inputs.ReEvalKey)
stateProvider.getState(State.CachePrimaryKey) || ? core.getInput(Inputs.Key)
core.getInput(Inputs.Key); : (stateProvider.getState(State.CachePrimaryKey) || core.getInput(Inputs.Key));
if (!primaryKey) { if (!primaryKey) {
utils.logWarning(`Key is not specified.`); utils.logWarning(`Key is not specified.`);