mirror of
				https://github.com/actions/cache.git
				synced 2025-10-31 20:08:36 +08:00 
			
		
		
		
	Add option to re-evaluate cache key during post action
This commit is contained in:
		
							parent
							
								
									5a3ec84eff
								
							
						
					
					
						commit
						f0a29e5cc9
					
				|  | @ -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` | ||||
| * `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` | ||||
| * `reeval-key` - A boolean which causes the key to be re-evaluated during the Post-Action step | ||||
| 
 | ||||
| #### Environment Variables | ||||
| 
 | ||||
|  |  | |||
|  | @ -34,6 +34,10 @@ inputs: | |||
|       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. | ||||
|       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: | ||||
|   cache-hit: | ||||
|     description: 'A boolean value to indicate an exact match was found for the primary key' | ||||
|  |  | |||
|  | @ -5,7 +5,8 @@ export enum Inputs { | |||
|     UploadChunkSize = "upload-chunk-size", // Input for cache, save action
 | ||||
|     EnableCrossOsArchive = "enableCrossOsArchive", // Input for cache, restore, save 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 { | ||||
|  |  | |||
|  | @ -34,9 +34,9 @@ export async function saveImpl( | |||
| 
 | ||||
|         // If restore has stored a primary key in state, reuse that
 | ||||
|         // Else re-evaluate from inputs
 | ||||
|         const primaryKey = | ||||
|             stateProvider.getState(State.CachePrimaryKey) || | ||||
|             core.getInput(Inputs.Key); | ||||
|         const primaryKey = core.getBooleanInput(Inputs.ReEvalKey) | ||||
|             ? core.getInput(Inputs.Key) | ||||
|             : (stateProvider.getState(State.CachePrimaryKey) || core.getInput(Inputs.Key)); | ||||
| 
 | ||||
|         if (!primaryKey) { | ||||
|             utils.logWarning(`Key is not specified.`); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Timo Rothenpieler
						Timo Rothenpieler