@ -10,57 +10,60 @@ import * as utils from "./utils/actionUtils";
process . on ( "uncaughtException" , e = > utils . logWarning ( e . message ) ) ;
async function run ( ) : Promise < void > {
try {
if ( ! utils . isCacheFeatureAvailable ( ) ) {
return ;
}
if ( ! utils . isValidEvent ( ) ) {
utils . logWarning (
` Event Validation Error: The event type ${
process . env [ Events . Key ]
} is not supported because it ' s not tied to a branch or tag ref . `
) ;
return ;
}
const state = utils . getCacheState ( ) ;
// Inputs are re-evaluted before the post action, so we want the original key used for restore
const primaryKey = core . getState ( State . CachePrimaryKey ) ;
if ( ! primaryKey ) {
utils . logWarning ( ` Error retrieving key from state. ` ) ;
return ;
}
if ( utils . isExactKeyMatch ( primaryKey , state ) ) {
core . info (
` Cache hit occurred on the primary key ${ primaryKey } , not saving cache. `
) ;
return ;
}
const cachePaths = utils . getInputAsArray ( Inputs . Path , {
required : true
} ) ;
const save = ! core . getBooleanInput ( Inputs . OnlyRestore ) ;
if ( save ) {
try {
await cache . saveCache ( cachePaths , primaryKey , {
uploadChunkSize : utils.getInputAsInt ( Inputs . UploadChunkSize )
if ( ! utils . isCacheFeatureAvailable ( ) ) {
return ;
}
if ( ! utils . isValidEvent ( ) ) {
utils . logWarning (
` Event Validation Error: The event type ${
process . env [ Events . Key ]
} is not supported because it ' s not tied to a branch or tag ref . `
) ;
return ;
}
const state = utils . getCacheState ( ) ;
// Inputs are re-evaluted before the post action, so we want the original key used for restore
const primaryKey = core . getState ( State . CachePrimaryKey ) ;
if ( ! primaryKey ) {
utils . logWarning ( ` Error retrieving key from state. ` ) ;
return ;
}
if ( utils . isExactKeyMatch ( primaryKey , state ) ) {
core . info (
` Cache hit occurred on the primary key ${ primaryKey } , not saving cache. `
) ;
return ;
}
const cachePaths = utils . getInputAsArray ( Inputs . Path , {
required : true
} ) ;
core . info ( ` Cache saved with key: ${ primaryKey } ` ) ;
} catch ( error : unknown ) {
const typedError = error as Error ;
if ( typedError . name === cache . ValidationError . name ) {
throw error ;
} else if ( typedError . name === cache . ReserveCacheError . name ) {
core . info ( typedError . message ) ;
} else {
utils . logWarning ( typedError . message ) ;
try {
await cache . saveCache ( cachePaths , primaryKey , {
uploadChunkSize : utils.getInputAsInt ( Inputs . UploadChunkSize )
} ) ;
core . info ( ` Cache saved with key: ${ primaryKey } ` ) ;
} catch ( error : unknown ) {
const typedError = error as Error ;
if ( typedError . name === cache . ValidationError . name ) {
throw error ;
} else if ( typedError . name === cache . ReserveCacheError . name ) {
core . info ( typedError . message ) ;
} else {
utils . logWarning ( typedError . message ) ;
}
}
} catch ( error : unknown ) {
utils . logWarning ( ( error as Error ) . message ) ;
}
} catch ( error : unknown ) {
utils . logWarning ( ( error as Error ) . message ) ;
}
}