mirror of
				https://kkgithub.com/actions/setup-python.git
				synced 2025-11-01 03:01:51 +08:00 
			
		
		
		
	Add warning for empty cache paths (#642)
This commit is contained in:
		| @ -87,6 +87,7 @@ describe('run', () => { | |||||||
|   describe('Validate unchanged cache is not saved', () => { |   describe('Validate unchanged cache is not saved', () => { | ||||||
|     it('should not save cache for pip', async () => { |     it('should not save cache for pip', async () => { | ||||||
|       inputs['cache'] = 'pip'; |       inputs['cache'] = 'pip'; | ||||||
|  |       inputs['python-version'] = '3.10.0'; | ||||||
|  |  | ||||||
|       await run(); |       await run(); | ||||||
|  |  | ||||||
| @ -103,6 +104,7 @@ describe('run', () => { | |||||||
|  |  | ||||||
|     it('should not save cache for pipenv', async () => { |     it('should not save cache for pipenv', async () => { | ||||||
|       inputs['cache'] = 'pipenv'; |       inputs['cache'] = 'pipenv'; | ||||||
|  |       inputs['python-version'] = '3.10.0'; | ||||||
|  |  | ||||||
|       await run(); |       await run(); | ||||||
|  |  | ||||||
| @ -121,6 +123,7 @@ describe('run', () => { | |||||||
|   describe('action saves the cache', () => { |   describe('action saves the cache', () => { | ||||||
|     it('saves cache from pip', async () => { |     it('saves cache from pip', async () => { | ||||||
|       inputs['cache'] = 'pip'; |       inputs['cache'] = 'pip'; | ||||||
|  |       inputs['python-version'] = '3.10.0'; | ||||||
|       getStateSpy.mockImplementation((name: string) => { |       getStateSpy.mockImplementation((name: string) => { | ||||||
|         if (name === State.CACHE_MATCHED_KEY) { |         if (name === State.CACHE_MATCHED_KEY) { | ||||||
|           return requirementsHash; |           return requirementsHash; | ||||||
| @ -147,6 +150,7 @@ describe('run', () => { | |||||||
|  |  | ||||||
|     it('saves cache from pipenv', async () => { |     it('saves cache from pipenv', async () => { | ||||||
|       inputs['cache'] = 'pipenv'; |       inputs['cache'] = 'pipenv'; | ||||||
|  |       inputs['python-version'] = '3.10.0'; | ||||||
|       getStateSpy.mockImplementation((name: string) => { |       getStateSpy.mockImplementation((name: string) => { | ||||||
|         if (name === State.CACHE_MATCHED_KEY) { |         if (name === State.CACHE_MATCHED_KEY) { | ||||||
|           return pipFileLockHash; |           return pipFileLockHash; | ||||||
| @ -173,6 +177,7 @@ describe('run', () => { | |||||||
|  |  | ||||||
|     it('saves cache from poetry', async () => { |     it('saves cache from poetry', async () => { | ||||||
|       inputs['cache'] = 'poetry'; |       inputs['cache'] = 'poetry'; | ||||||
|  |       inputs['python-version'] = '3.10.0'; | ||||||
|       getStateSpy.mockImplementation((name: string) => { |       getStateSpy.mockImplementation((name: string) => { | ||||||
|         if (name === State.CACHE_MATCHED_KEY) { |         if (name === State.CACHE_MATCHED_KEY) { | ||||||
|           return poetryLockHash; |           return poetryLockHash; | ||||||
| @ -199,6 +204,7 @@ describe('run', () => { | |||||||
|  |  | ||||||
|     it('saves with -1 cacheId , should not fail workflow', async () => { |     it('saves with -1 cacheId , should not fail workflow', async () => { | ||||||
|       inputs['cache'] = 'poetry'; |       inputs['cache'] = 'poetry'; | ||||||
|  |       inputs['python-version'] = '3.10.0'; | ||||||
|       getStateSpy.mockImplementation((name: string) => { |       getStateSpy.mockImplementation((name: string) => { | ||||||
|         if (name === State.STATE_CACHE_PRIMARY_KEY) { |         if (name === State.STATE_CACHE_PRIMARY_KEY) { | ||||||
|           return poetryLockHash; |           return poetryLockHash; | ||||||
| @ -227,6 +233,7 @@ describe('run', () => { | |||||||
|  |  | ||||||
|     it('saves with error from toolkit, should not fail the workflow', async () => { |     it('saves with error from toolkit, should not fail the workflow', async () => { | ||||||
|       inputs['cache'] = 'npm'; |       inputs['cache'] = 'npm'; | ||||||
|  |       inputs['python-version'] = '3.10.0'; | ||||||
|       getStateSpy.mockImplementation((name: string) => { |       getStateSpy.mockImplementation((name: string) => { | ||||||
|         if (name === State.STATE_CACHE_PRIMARY_KEY) { |         if (name === State.STATE_CACHE_PRIMARY_KEY) { | ||||||
|           return poetryLockHash; |           return poetryLockHash; | ||||||
|  | |||||||
							
								
								
									
										7
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							| @ -59628,7 +59628,12 @@ function run() { | |||||||
| exports.run = run; | exports.run = run; | ||||||
| function saveCache(packageManager) { | function saveCache(packageManager) { | ||||||
|     return __awaiter(this, void 0, void 0, function* () { |     return __awaiter(this, void 0, void 0, function* () { | ||||||
|         const cachePaths = JSON.parse(core.getState(cache_distributor_1.State.CACHE_PATHS)); |         const cachePathState = core.getState(cache_distributor_1.State.CACHE_PATHS); | ||||||
|  |         if (!cachePathState) { | ||||||
|  |             core.warning('Cache paths are empty. Please check the previous logs and make sure that the python version is specified'); | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |         const cachePaths = JSON.parse(cachePathState); | ||||||
|         core.debug(`paths for caching are ${cachePaths.join(', ')}`); |         core.debug(`paths for caching are ${cachePaths.join(', ')}`); | ||||||
|         if (!isCacheDirectoryExists(cachePaths)) { |         if (!isCacheDirectoryExists(cachePaths)) { | ||||||
|             throw new Error(`Cache folder path is retrieved for ${packageManager} but doesn't exist on disk: ${cachePaths.join(', ')}`); |             throw new Error(`Cache folder path is retrieved for ${packageManager} but doesn't exist on disk: ${cachePaths.join(', ')}`); | ||||||
|  | |||||||
| @ -17,7 +17,16 @@ export async function run() { | |||||||
| } | } | ||||||
|  |  | ||||||
| async function saveCache(packageManager: string) { | async function saveCache(packageManager: string) { | ||||||
|   const cachePaths = JSON.parse(core.getState(State.CACHE_PATHS)) as string[]; |   const cachePathState = core.getState(State.CACHE_PATHS); | ||||||
|  |  | ||||||
|  |   if (!cachePathState) { | ||||||
|  |     core.warning( | ||||||
|  |       'Cache paths are empty. Please check the previous logs and make sure that the python version is specified' | ||||||
|  |     ); | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   const cachePaths = JSON.parse(cachePathState) as string[]; | ||||||
|  |  | ||||||
|   core.debug(`paths for caching are ${cachePaths.join(', ')}`); |   core.debug(`paths for caching are ${cachePaths.join(', ')}`); | ||||||
|  |  | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Dmitry Shibanov
					Dmitry Shibanov