mirror of
				https://github.com/docker/setup-buildx-action.git
				synced 2025-10-31 01:20:09 +08:00 
			
		
		
		
	Merge pull request #100 from crazy-max/explicit-semver
Explicit version spec for caching
This commit is contained in:
		
						commit
						abe5d8f79a
					
				
							
								
								
									
										1
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @ -323,6 +323,7 @@ jobs: | ||||
|           - master | ||||
|           - refs/tags/v0.5.1 | ||||
|           - refs/pull/648/head | ||||
|           - 67bd6f4dc82a9cd96f34133dab3f6f7af803bb14 | ||||
|     steps: | ||||
|       - | ||||
|         name: Checkout | ||||
|  | ||||
| @ -93,12 +93,17 @@ describe('inspect', () => { | ||||
| }); | ||||
| 
 | ||||
| describe('build', () => { | ||||
|   it.skip('valid', async () => { | ||||
|     const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'setup-buildx-')); | ||||
|   const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'setup-buildx-')); | ||||
|   it.skip('builds refs/pull/648/head', async () => { | ||||
|     const buildxBin = await buildx.build('https://github.com/docker/buildx.git#refs/pull/648/head', tmpDir); | ||||
|     console.log(buildxBin); | ||||
|     expect(fs.existsSync(buildxBin)).toBe(true); | ||||
|   }, 100000); | ||||
|   it.skip('builds 67bd6f4dc82a9cd96f34133dab3f6f7af803bb14', async () => { | ||||
|     const buildxBin = await buildx.build('https://github.com/docker/buildx.git#67bd6f4dc82a9cd96f34133dab3f6f7af803bb14', tmpDir); | ||||
|     console.log(buildxBin); | ||||
|     expect(fs.existsSync(buildxBin)).toBe(true); | ||||
|   }, 100000); | ||||
| }); | ||||
| 
 | ||||
| describe('install', () => { | ||||
|  | ||||
							
								
								
									
										14
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -151,10 +151,16 @@ function build(inputBuildRef, dockerConfigHome) { | ||||
|         if (ref.length == 0) { | ||||
|             ref = 'master'; | ||||
|         } | ||||
|         const sha = yield git.getRemoteSha(repo, ref); | ||||
|         core.debug(`Remote ref ${sha} found`); | ||||
|         let vspec; | ||||
|         if (ref.match(/^[0-9a-fA-F]{40}$/)) { | ||||
|             vspec = ref; | ||||
|         } | ||||
|         else { | ||||
|             vspec = yield git.getRemoteSha(repo, ref); | ||||
|         } | ||||
|         core.debug(`Tool version spec ${vspec}`); | ||||
|         let toolPath; | ||||
|         toolPath = tc.find('buildx', sha); | ||||
|         toolPath = tc.find('buildx', vspec); | ||||
|         if (!toolPath) { | ||||
|             const outFolder = path.join(context.tmpDir(), 'out').split(path.sep).join(path.posix.sep); | ||||
|             toolPath = yield exec | ||||
| @ -165,7 +171,7 @@ function build(inputBuildRef, dockerConfigHome) { | ||||
|                 if (res.stderr.length > 0 && res.exitCode != 0) { | ||||
|                     core.warning(res.stderr.trim()); | ||||
|                 } | ||||
|                 return tc.cacheFile(`${outFolder}/buildx`, context.osPlat == 'win32' ? 'docker-buildx.exe' : 'docker-buildx', 'buildx', sha); | ||||
|                 return tc.cacheFile(`${outFolder}/buildx`, context.osPlat == 'win32' ? 'docker-buildx.exe' : 'docker-buildx', 'buildx', vspec); | ||||
|             }); | ||||
|         } | ||||
|         return setPlugin(toolPath, dockerConfigHome); | ||||
|  | ||||
| @ -117,11 +117,16 @@ export async function build(inputBuildRef: string, dockerConfigHome: string): Pr | ||||
|     ref = 'master'; | ||||
|   } | ||||
| 
 | ||||
|   const sha = await git.getRemoteSha(repo, ref); | ||||
|   core.debug(`Remote ref ${sha} found`); | ||||
|   let vspec: string; | ||||
|   if (ref.match(/^[0-9a-fA-F]{40}$/)) { | ||||
|     vspec = ref; | ||||
|   } else { | ||||
|     vspec = await git.getRemoteSha(repo, ref); | ||||
|   } | ||||
|   core.debug(`Tool version spec ${vspec}`); | ||||
| 
 | ||||
|   let toolPath: string; | ||||
|   toolPath = tc.find('buildx', sha); | ||||
|   toolPath = tc.find('buildx', vspec); | ||||
|   if (!toolPath) { | ||||
|     const outFolder = path.join(context.tmpDir(), 'out').split(path.sep).join(path.posix.sep); | ||||
|     toolPath = await exec | ||||
| @ -132,7 +137,7 @@ export async function build(inputBuildRef: string, dockerConfigHome: string): Pr | ||||
|         if (res.stderr.length > 0 && res.exitCode != 0) { | ||||
|           core.warning(res.stderr.trim()); | ||||
|         } | ||||
|         return tc.cacheFile(`${outFolder}/buildx`, context.osPlat == 'win32' ? 'docker-buildx.exe' : 'docker-buildx', 'buildx', sha); | ||||
|         return tc.cacheFile(`${outFolder}/buildx`, context.osPlat == 'win32' ? 'docker-buildx.exe' : 'docker-buildx', 'buildx', vspec); | ||||
|       }); | ||||
|   } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 CrazyMax
						CrazyMax