Merge branch 'actions:main' into main
This commit is contained in:
		
						commit
						4656cbcede
					
				| @ -73,7 +73,7 @@ Currently, the following distributions are supported: | |||||||
| 
 | 
 | ||||||
| ### Caching packages dependencies | ### Caching packages dependencies | ||||||
| The action has a built-in functionality for caching and restoring dependencies. It uses [actions/cache](https://github.com/actions/cache) under hood for caching dependencies but requires less configuration settings. Supported package managers are gradle, maven and sbt. The format of the used cache key is `setup-java-${{ platform }}-${{ packageManager }}-${{ fileHash }}`, where the hash is based on the following files: | The action has a built-in functionality for caching and restoring dependencies. It uses [actions/cache](https://github.com/actions/cache) under hood for caching dependencies but requires less configuration settings. Supported package managers are gradle, maven and sbt. The format of the used cache key is `setup-java-${{ platform }}-${{ packageManager }}-${{ fileHash }}`, where the hash is based on the following files: | ||||||
| - gradle: `**/*.gradle*`, `**/gradle-wrapper.properties` | - gradle: `**/*.gradle*`, `**/gradle-wrapper.properties`, `buildSrc/**/Versions.kt`, `buildSrc/**/Dependencies.kt` | ||||||
| - maven: `**/pom.xml` | - maven: `**/pom.xml` | ||||||
| - sbt: all sbt build definition files `**/*.sbt`, `**/project/build.properties`, `**/project/**.{scala,sbt}` | - sbt: all sbt build definition files `**/*.sbt`, `**/project/build.properties`, `**/project/**.{scala,sbt}` | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -98,7 +98,7 @@ describe('dependency cache', () => { | |||||||
|         await expect(restore('gradle')).rejects.toThrowError( |         await expect(restore('gradle')).rejects.toThrowError( | ||||||
|           `No file in ${projectRoot( |           `No file in ${projectRoot( | ||||||
|             workspace |             workspace | ||||||
|           )} matched to [**/*.gradle*,**/gradle-wrapper.properties], make sure you have checked out the target repository` |           )} matched to [**/*.gradle*,**/gradle-wrapper.properties,buildSrc/**/Versions.kt,buildSrc/**/Dependencies.kt], make sure you have checked out the target repository` | ||||||
|         ); |         ); | ||||||
|       }); |       }); | ||||||
|       it('downloads cache based on build.gradle', async () => { |       it('downloads cache based on build.gradle', async () => { | ||||||
| @ -118,6 +118,15 @@ describe('dependency cache', () => { | |||||||
|         expect(spyInfo).toBeCalledWith('gradle cache is not found'); |         expect(spyInfo).toBeCalledWith('gradle cache is not found'); | ||||||
|       }); |       }); | ||||||
|     }); |     }); | ||||||
|  |     it('downloads cache based on buildSrc/Versions.kt', async () => { | ||||||
|  |       createDirectory(join(workspace, 'buildSrc')); | ||||||
|  |       createFile(join(workspace, 'buildSrc', 'Versions.kt')); | ||||||
|  | 
 | ||||||
|  |       await restore('gradle'); | ||||||
|  |       expect(spyCacheRestore).toBeCalled(); | ||||||
|  |       expect(spyWarning).not.toBeCalled(); | ||||||
|  |       expect(spyInfo).toBeCalledWith('gradle cache is not found'); | ||||||
|  |     }); | ||||||
|     describe('for sbt', () => { |     describe('for sbt', () => { | ||||||
|       it('throws error if no build.sbt found', async () => { |       it('throws error if no build.sbt found', async () => { | ||||||
|         await expect(restore('sbt')).rejects.toThrowError( |         await expect(restore('sbt')).rejects.toThrowError( | ||||||
| @ -226,6 +235,16 @@ describe('dependency cache', () => { | |||||||
|         createFile(join(workspace, 'build.gradle.kts')); |         createFile(join(workspace, 'build.gradle.kts')); | ||||||
|         createStateForSuccessfulRestore(); |         createStateForSuccessfulRestore(); | ||||||
| 
 | 
 | ||||||
|  |         await save('gradle'); | ||||||
|  |         expect(spyCacheSave).toBeCalled(); | ||||||
|  |         expect(spyWarning).not.toBeCalled(); | ||||||
|  |         expect(spyInfo).toBeCalledWith(expect.stringMatching(/^Cache saved with the key:.*/)); | ||||||
|  |       }); | ||||||
|  |       it('uploads cache based on buildSrc/Versions.kt', async () => { | ||||||
|  |         createDirectory(join(workspace, 'buildSrc')); | ||||||
|  |         createFile(join(workspace, 'buildSrc', 'Versions.kt')); | ||||||
|  |         createStateForSuccessfulRestore(); | ||||||
|  | 
 | ||||||
|         await save('gradle'); |         await save('gradle'); | ||||||
|         expect(spyCacheSave).toBeCalled(); |         expect(spyCacheSave).toBeCalled(); | ||||||
|         expect(spyWarning).not.toBeCalled(); |         expect(spyWarning).not.toBeCalled(); | ||||||
| @ -298,6 +317,11 @@ function createFile(path: string) { | |||||||
|   fs.writeFileSync(path, ''); |   fs.writeFileSync(path, ''); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function createDirectory(path: string) { | ||||||
|  |   core.info(`created a directory at ${path}`); | ||||||
|  |   fs.mkdirSync(path); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function projectRoot(workspace: string): string { | function projectRoot(workspace: string): string { | ||||||
|   if (os.platform() === 'darwin') { |   if (os.platform() === 'darwin') { | ||||||
|     return `/private${workspace}`; |     return `/private${workspace}`; | ||||||
|  | |||||||
							
								
								
									
										7
									
								
								dist/cleanup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								dist/cleanup/index.js
									
									
									
									
										vendored
									
									
								
							| @ -66172,7 +66172,12 @@ const supportedPackageManager = [ | |||||||
|         id: 'gradle', |         id: 'gradle', | ||||||
|         path: [path_1.join(os_1.default.homedir(), '.gradle', 'caches'), path_1.join(os_1.default.homedir(), '.gradle', 'wrapper')], |         path: [path_1.join(os_1.default.homedir(), '.gradle', 'caches'), path_1.join(os_1.default.homedir(), '.gradle', 'wrapper')], | ||||||
|         // https://github.com/actions/cache/blob/0638051e9af2c23d10bb70fa9beffcad6cff9ce3/examples.md#java---gradle
 |         // https://github.com/actions/cache/blob/0638051e9af2c23d10bb70fa9beffcad6cff9ce3/examples.md#java---gradle
 | ||||||
|         pattern: ['**/*.gradle*', '**/gradle-wrapper.properties'] |         pattern: [ | ||||||
|  |             '**/*.gradle*', | ||||||
|  |             '**/gradle-wrapper.properties', | ||||||
|  |             'buildSrc/**/Versions.kt', | ||||||
|  |             'buildSrc/**/Dependencies.kt' | ||||||
|  |         ] | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|         id: 'sbt', |         id: 'sbt', | ||||||
|  | |||||||
							
								
								
									
										7
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							| @ -101377,7 +101377,12 @@ const supportedPackageManager = [ | |||||||
|         id: 'gradle', |         id: 'gradle', | ||||||
|         path: [path_1.join(os_1.default.homedir(), '.gradle', 'caches'), path_1.join(os_1.default.homedir(), '.gradle', 'wrapper')], |         path: [path_1.join(os_1.default.homedir(), '.gradle', 'caches'), path_1.join(os_1.default.homedir(), '.gradle', 'wrapper')], | ||||||
|         // https://github.com/actions/cache/blob/0638051e9af2c23d10bb70fa9beffcad6cff9ce3/examples.md#java---gradle
 |         // https://github.com/actions/cache/blob/0638051e9af2c23d10bb70fa9beffcad6cff9ce3/examples.md#java---gradle
 | ||||||
|         pattern: ['**/*.gradle*', '**/gradle-wrapper.properties'] |         pattern: [ | ||||||
|  |             '**/*.gradle*', | ||||||
|  |             '**/gradle-wrapper.properties', | ||||||
|  |             'buildSrc/**/Versions.kt', | ||||||
|  |             'buildSrc/**/Dependencies.kt' | ||||||
|  |         ] | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|         id: 'sbt', |         id: 'sbt', | ||||||
|  | |||||||
| @ -31,7 +31,12 @@ const supportedPackageManager: PackageManager[] = [ | |||||||
|     id: 'gradle', |     id: 'gradle', | ||||||
|     path: [join(os.homedir(), '.gradle', 'caches'), join(os.homedir(), '.gradle', 'wrapper')], |     path: [join(os.homedir(), '.gradle', 'caches'), join(os.homedir(), '.gradle', 'wrapper')], | ||||||
|     // https://github.com/actions/cache/blob/0638051e9af2c23d10bb70fa9beffcad6cff9ce3/examples.md#java---gradle
 |     // https://github.com/actions/cache/blob/0638051e9af2c23d10bb70fa9beffcad6cff9ce3/examples.md#java---gradle
 | ||||||
|     pattern: ['**/*.gradle*', '**/gradle-wrapper.properties'] |     pattern: [ | ||||||
|  |       '**/*.gradle*', | ||||||
|  |       '**/gradle-wrapper.properties', | ||||||
|  |       'buildSrc/**/Versions.kt', | ||||||
|  |       'buildSrc/**/Dependencies.kt' | ||||||
|  |     ] | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     id: 'sbt', |     id: 'sbt', | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user