mirror of
				https://github.com/actions/setup-go.git
				synced 2025-10-31 05:54:39 -04:00 
			
		
		
		
	Merge branch 'actions:main' into main
This commit is contained in:
		| @@ -93,6 +93,41 @@ describe('getCacheDirectoryPath', () => { | ||||
|       .then(data => expect(data).toEqual(expectedResult)); | ||||
|   }); | ||||
|  | ||||
|   it('should return path to the cache folder if one command return empty str', async () => { | ||||
|     //Arrange | ||||
|     getExecOutputSpy.mockImplementationOnce((commandLine: string) => { | ||||
|       return new Promise<exec.ExecOutput>(resolve => { | ||||
|         resolve({exitCode: 0, stdout: 'path/to/cache/folder', stderr: ''}); | ||||
|       }); | ||||
|     }); | ||||
|  | ||||
|     getExecOutputSpy.mockImplementationOnce((commandLine: string) => { | ||||
|       return new Promise<exec.ExecOutput>(resolve => { | ||||
|         resolve({exitCode: 0, stdout: '', stderr: ''}); | ||||
|       }); | ||||
|     }); | ||||
|  | ||||
|     const expectedResult = ['path/to/cache/folder']; | ||||
|  | ||||
|     //Act + Assert | ||||
|     return cacheUtils | ||||
|       .getCacheDirectoryPath(validPackageManager) | ||||
|       .then(data => expect(data).toEqual(expectedResult)); | ||||
|   }); | ||||
|  | ||||
|   it('should throw if the both commands return empty str', async () => { | ||||
|     getExecOutputSpy.mockImplementation((commandLine: string) => { | ||||
|       return new Promise<exec.ExecOutput>(resolve => { | ||||
|         resolve({exitCode: 10, stdout: '', stderr: ''}); | ||||
|       }); | ||||
|     }); | ||||
|  | ||||
|     //Act + Assert | ||||
|     expect(async () => { | ||||
|       await cacheUtils.getCacheDirectoryPath(validPackageManager); | ||||
|     }).rejects.toThrow(); | ||||
|   }); | ||||
|  | ||||
|   it('should throw if the specified package name is invalid', async () => { | ||||
|     getExecOutputSpy.mockImplementation((commandLine: string) => { | ||||
|       return new Promise<exec.ExecOutput>(resolve => { | ||||
| @@ -162,7 +197,7 @@ describe('isCacheFeatureAvailable', () => { | ||||
|     expect(functionResult).toBeFalsy(); | ||||
|   }); | ||||
|  | ||||
|   it('should throw when cache feature is unavailable and GHES is used', () => { | ||||
|   it('should warn when cache feature is unavailable and GHES is used', () => { | ||||
|     //Arrange | ||||
|     isFeatureAvailableSpy.mockImplementation(() => { | ||||
|       return false; | ||||
| @@ -170,10 +205,11 @@ describe('isCacheFeatureAvailable', () => { | ||||
|  | ||||
|     process.env['GITHUB_SERVER_URL'] = 'https://nongithub.com'; | ||||
|  | ||||
|     let errorMessage = | ||||
|     let warningMessage = | ||||
|       'Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'; | ||||
|  | ||||
|     //Act + Assert | ||||
|     expect(() => cacheUtils.isCacheFeatureAvailable()).toThrow(errorMessage); | ||||
|     expect(cacheUtils.isCacheFeatureAvailable()).toBeFalsy(); | ||||
|     expect(warningSpy).toHaveBeenCalledWith(warningMessage); | ||||
|   }); | ||||
| }); | ||||
|   | ||||
							
								
								
									
										5065
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5065
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										5065
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5065
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -34,19 +34,19 @@ export const getPackageManagerInfo = async (packageManager: string) => { | ||||
| export const getCacheDirectoryPath = async ( | ||||
|   packageManagerInfo: PackageManagerInfo | ||||
| ) => { | ||||
|   let pathList = await Promise.all( | ||||
|   const pathList = await Promise.all( | ||||
|     packageManagerInfo.cacheFolderCommandList.map(command => | ||||
|       getCommandOutput(command) | ||||
|     ) | ||||
|   ); | ||||
|  | ||||
|   const emptyPaths = pathList.filter(item => !item); | ||||
|   const cachePaths = pathList.filter(item => item); | ||||
|  | ||||
|   if (emptyPaths.length) { | ||||
|   if (!cachePaths.length) { | ||||
|     throw new Error(`Could not get cache folder paths.`); | ||||
|   } | ||||
|  | ||||
|   return pathList; | ||||
|   return cachePaths; | ||||
| }; | ||||
|  | ||||
| export function isGhes(): boolean { | ||||
| @@ -57,19 +57,19 @@ export function isGhes(): boolean { | ||||
| } | ||||
|  | ||||
| export function isCacheFeatureAvailable(): boolean { | ||||
|   if (!cache.isFeatureAvailable()) { | ||||
|     if (isGhes()) { | ||||
|       throw new Error( | ||||
|         'Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.' | ||||
|       ); | ||||
|     } else { | ||||
|       core.warning( | ||||
|         'The runner was not able to contact the cache service. Caching will be skipped' | ||||
|       ); | ||||
|     } | ||||
|   if (cache.isFeatureAvailable()) { | ||||
|     return true; | ||||
|   } | ||||
|  | ||||
|   if (isGhes()) { | ||||
|     core.warning( | ||||
|       'Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.' | ||||
|     ); | ||||
|     return false; | ||||
|   } | ||||
|  | ||||
|   return true; | ||||
|   core.warning( | ||||
|     'The runner was not able to contact the cache service. Caching will be skipped' | ||||
|   ); | ||||
|   return false; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user