Rework cache handling
This commit is contained in:
		
							parent
							
								
									6036aa2424
								
							
						
					
					
						commit
						0fd92001e9
					
				
							
								
								
									
										72
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										72
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -9,11 +9,11 @@ | |||||||
|       "version": "1.0.0", |       "version": "1.0.0", | ||||||
|       "license": "MIT", |       "license": "MIT", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@actions/cache": "^2.0.2", |         "@actions/cache": "^3.0.0", | ||||||
|         "@actions/core": "^1.6.0", |         "@actions/core": "^1.6.0", | ||||||
|         "@actions/exec": "^1.1.0", |         "@actions/exec": "^1.1.0", | ||||||
|         "@actions/glob": "^0.2.0", |         "@actions/glob": "^0.2.0", | ||||||
|         "@actions/http-client": "^1.0.6", |         "@actions/http-client": "^2.0.1", | ||||||
|         "@actions/io": "^1.0.2", |         "@actions/io": "^1.0.2", | ||||||
|         "@actions/tool-cache": "^1.5.5", |         "@actions/tool-cache": "^1.5.5", | ||||||
|         "semver": "^6.1.1" |         "semver": "^6.1.1" | ||||||
| @ -32,14 +32,14 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@actions/cache": { |     "node_modules/@actions/cache": { | ||||||
|       "version": "2.0.2", |       "version": "3.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-2.0.2.tgz", |       "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.0.0.tgz", | ||||||
|       "integrity": "sha512-K1DCaW/OtHj5mV7hI7HEXiceX3rM4Nc0iG2hfYsrkEy6GiOeqlCC/LyICrBZIRDM6+vSrS12tg1ORl4hghomBA==", |       "integrity": "sha512-GL9CT1Fnu+pqs8TTB621q8Xa8Cilw2n9MwvbgMedetH7L1q2n6jY61gzbwGbKgtVbp3gVJ12aNMi4osSGXx3KQ==", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@actions/core": "^1.2.6", |         "@actions/core": "^1.2.6", | ||||||
|         "@actions/exec": "^1.0.1", |         "@actions/exec": "^1.0.1", | ||||||
|         "@actions/glob": "^0.1.0", |         "@actions/glob": "^0.1.0", | ||||||
|         "@actions/http-client": "^1.0.9", |         "@actions/http-client": "^2.0.1", | ||||||
|         "@actions/io": "^1.0.1", |         "@actions/io": "^1.0.1", | ||||||
|         "@azure/ms-rest-js": "^2.6.0", |         "@azure/ms-rest-js": "^2.6.0", | ||||||
|         "@azure/storage-blob": "^12.8.0", |         "@azure/storage-blob": "^12.8.0", | ||||||
| @ -64,6 +64,14 @@ | |||||||
|         "@actions/http-client": "^1.0.11" |         "@actions/http-client": "^1.0.11" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@actions/core/node_modules/@actions/http-client": { | ||||||
|  |       "version": "1.0.11", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", | ||||||
|  |       "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", | ||||||
|  |       "dependencies": { | ||||||
|  |         "tunnel": "0.0.6" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@actions/exec": { |     "node_modules/@actions/exec": { | ||||||
|       "version": "1.1.1", |       "version": "1.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", |       "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", | ||||||
| @ -82,11 +90,11 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@actions/http-client": { |     "node_modules/@actions/http-client": { | ||||||
|       "version": "1.0.11", |       "version": "2.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", |       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", | ||||||
|       "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", |       "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "tunnel": "0.0.6" |         "tunnel": "^0.0.6" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@actions/io": { |     "node_modules/@actions/io": { | ||||||
| @ -107,6 +115,14 @@ | |||||||
|         "uuid": "^3.3.2" |         "uuid": "^3.3.2" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@actions/tool-cache/node_modules/@actions/http-client": { | ||||||
|  |       "version": "1.0.11", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", | ||||||
|  |       "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", | ||||||
|  |       "dependencies": { | ||||||
|  |         "tunnel": "0.0.6" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@ampproject/remapping": { |     "node_modules/@ampproject/remapping": { | ||||||
|       "version": "2.1.2", |       "version": "2.1.2", | ||||||
|       "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", |       "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", | ||||||
| @ -4948,14 +4964,14 @@ | |||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@actions/cache": { |     "@actions/cache": { | ||||||
|       "version": "2.0.2", |       "version": "3.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-2.0.2.tgz", |       "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.0.0.tgz", | ||||||
|       "integrity": "sha512-K1DCaW/OtHj5mV7hI7HEXiceX3rM4Nc0iG2hfYsrkEy6GiOeqlCC/LyICrBZIRDM6+vSrS12tg1ORl4hghomBA==", |       "integrity": "sha512-GL9CT1Fnu+pqs8TTB621q8Xa8Cilw2n9MwvbgMedetH7L1q2n6jY61gzbwGbKgtVbp3gVJ12aNMi4osSGXx3KQ==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "@actions/core": "^1.2.6", |         "@actions/core": "^1.2.6", | ||||||
|         "@actions/exec": "^1.0.1", |         "@actions/exec": "^1.0.1", | ||||||
|         "@actions/glob": "^0.1.0", |         "@actions/glob": "^0.1.0", | ||||||
|         "@actions/http-client": "^1.0.9", |         "@actions/http-client": "^2.0.1", | ||||||
|         "@actions/io": "^1.0.1", |         "@actions/io": "^1.0.1", | ||||||
|         "@azure/ms-rest-js": "^2.6.0", |         "@azure/ms-rest-js": "^2.6.0", | ||||||
|         "@azure/storage-blob": "^12.8.0", |         "@azure/storage-blob": "^12.8.0", | ||||||
| @ -4980,6 +4996,16 @@ | |||||||
|       "integrity": "sha512-NB1UAZomZlCV/LmJqkLhNTqtKfFXJZAUPcfl/zqG7EfsQdeUJtaWO98SGbuQ3pydJ3fHl2CvI/51OKYlCYYcaw==", |       "integrity": "sha512-NB1UAZomZlCV/LmJqkLhNTqtKfFXJZAUPcfl/zqG7EfsQdeUJtaWO98SGbuQ3pydJ3fHl2CvI/51OKYlCYYcaw==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "@actions/http-client": "^1.0.11" |         "@actions/http-client": "^1.0.11" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@actions/http-client": { | ||||||
|  |           "version": "1.0.11", | ||||||
|  |           "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", | ||||||
|  |           "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", | ||||||
|  |           "requires": { | ||||||
|  |             "tunnel": "0.0.6" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "@actions/exec": { |     "@actions/exec": { | ||||||
| @ -5000,11 +5026,11 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "@actions/http-client": { |     "@actions/http-client": { | ||||||
|       "version": "1.0.11", |       "version": "2.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", |       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", | ||||||
|       "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", |       "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "tunnel": "0.0.6" |         "tunnel": "^0.0.6" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "@actions/io": { |     "@actions/io": { | ||||||
| @ -5023,6 +5049,16 @@ | |||||||
|         "@actions/io": "^1.1.1", |         "@actions/io": "^1.1.1", | ||||||
|         "semver": "^6.1.0", |         "semver": "^6.1.0", | ||||||
|         "uuid": "^3.3.2" |         "uuid": "^3.3.2" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@actions/http-client": { | ||||||
|  |           "version": "1.0.11", | ||||||
|  |           "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", | ||||||
|  |           "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", | ||||||
|  |           "requires": { | ||||||
|  |             "tunnel": "0.0.6" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "@ampproject/remapping": { |     "@ampproject/remapping": { | ||||||
|  | |||||||
| @ -23,11 +23,11 @@ | |||||||
|   "author": "GitHub", |   "author": "GitHub", | ||||||
|   "license": "MIT", |   "license": "MIT", | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@actions/cache": "^2.0.2", |     "@actions/cache": "^3.0.0", | ||||||
|     "@actions/core": "^1.6.0", |     "@actions/core": "^1.6.0", | ||||||
|     "@actions/exec": "^1.1.0", |     "@actions/exec": "^1.1.0", | ||||||
|     "@actions/glob": "^0.2.0", |     "@actions/glob": "^0.2.0", | ||||||
|     "@actions/http-client": "^1.0.6", |     "@actions/http-client": "^2.0.1", | ||||||
|     "@actions/io": "^1.0.2", |     "@actions/io": "^1.0.2", | ||||||
|     "@actions/tool-cache": "^1.5.5", |     "@actions/tool-cache": "^1.5.5", | ||||||
|     "semver": "^6.1.1" |     "semver": "^6.1.1" | ||||||
|  | |||||||
| @ -34,26 +34,17 @@ export const restoreCache = async ( | |||||||
| 
 | 
 | ||||||
|   core.saveState(State.CachePrimaryKey, primaryKey); |   core.saveState(State.CachePrimaryKey, primaryKey); | ||||||
| 
 | 
 | ||||||
|   try { |  | ||||||
|   const cacheKey = await cache.restoreCache(cachePaths, primaryKey); |   const cacheKey = await cache.restoreCache(cachePaths, primaryKey); | ||||||
|   core.setOutput(Outputs.CacheHit, Boolean(cacheKey)); |   core.setOutput(Outputs.CacheHit, Boolean(cacheKey)); | ||||||
| 
 | 
 | ||||||
|   if (!cacheKey) { |   if (!cacheKey) { | ||||||
|     core.info(`Cache is not found`); |     core.info(`Cache is not found`); | ||||||
|  |     core.setOutput(Outputs.CacheHit, false); | ||||||
|     return; |     return; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   core.saveState(State.CacheMatchedKey, cacheKey); |   core.saveState(State.CacheMatchedKey, cacheKey); | ||||||
|   core.info(`Cache restored from key: ${cacheKey}`); |   core.info(`Cache restored from key: ${cacheKey}`); | ||||||
|   } catch (error) { |  | ||||||
|     const typedError = error as Error; |  | ||||||
|     if (typedError.name === cache.ValidationError.name) { |  | ||||||
|       throw error; |  | ||||||
|     } else { |  | ||||||
|       core.warning(typedError.message); |  | ||||||
|       core.setOutput(Outputs.CacheHit, false); |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| const findDependencyFile = (packageManager: PackageManagerInfo) => { | const findDependencyFile = (packageManager: PackageManagerInfo) => { | ||||||
|  | |||||||
| @ -58,18 +58,11 @@ const cachePackages = async () => { | |||||||
|     return; |     return; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   try { |   const cacheId = await cache.saveCache(cachePaths, primaryKey); | ||||||
|     await cache.saveCache(cachePaths, primaryKey); |   if (cacheId == -1) { | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|   core.info(`Cache saved with the key: ${primaryKey}`); |   core.info(`Cache saved with the key: ${primaryKey}`); | ||||||
|   } catch (error) { |  | ||||||
|     if (error.name === cache.ValidationError.name) { |  | ||||||
|       throw error; |  | ||||||
|     } else if (error.name === cache.ReserveCacheError.name) { |  | ||||||
|       core.info(error.message); |  | ||||||
|     } else { |  | ||||||
|       core.warning(`${error.message}`); |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| export function logWarning(message: string): void { | export function logWarning(message: string): void { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user