Fix GitHub token not passed with Git context if subdir defined
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									67af6dc1d3
								
							
						
					
					
						commit
						30a32246ba
					
				| @ -500,6 +500,25 @@ nproc=3`], | |||||||
|         'https://github.com/docker/build-push-action.git#refs/heads/test-jest:docker' |         'https://github.com/docker/build-push-action.git#refs/heads/test-jest:docker' | ||||||
|       ] |       ] | ||||||
|     ], |     ], | ||||||
|  |     [ | ||||||
|  |       16, | ||||||
|  |       '0.8.2', | ||||||
|  |       new Map<string, string>([ | ||||||
|  |         ['github-token', 'abcdefghijklmno0123456789'], | ||||||
|  |         ['context', '{{defaultContext}}:subdir'], | ||||||
|  |         ['load', 'false'], | ||||||
|  |         ['no-cache', 'false'], | ||||||
|  |         ['push', 'false'], | ||||||
|  |         ['pull', 'false'], | ||||||
|  |       ]), | ||||||
|  |       [ | ||||||
|  |         'build', | ||||||
|  |         '--iidfile', '/tmp/.docker-build-push-jest/iidfile', | ||||||
|  |         '--secret', 'id=GIT_AUTH_TOKEN,src=/tmp/.docker-build-push-jest/.tmpname-jest', | ||||||
|  |         '--metadata-file', '/tmp/.docker-build-push-jest/metadata-file', | ||||||
|  |         'https://github.com/docker/build-push-action.git#refs/heads/test-jest:subdir' | ||||||
|  |       ] | ||||||
|  |     ] | ||||||
|   ])( |   ])( | ||||||
|     '[%d] given %p with %p as inputs, returns %p', |     '[%d] given %p with %p as inputs, returns %p', | ||||||
|     async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>) => { |     async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>) => { | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								dist/index.js.map
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/index.js.map
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @ -101,15 +101,16 @@ export async function getInputs(defaultContext: string): Promise<Inputs> { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export async function getArgs(inputs: Inputs, defaultContext: string, buildxVersion: string): Promise<Array<string>> { | export async function getArgs(inputs: Inputs, defaultContext: string, buildxVersion: string): Promise<Array<string>> { | ||||||
|  |   const context = handlebars.compile(inputs.context)({defaultContext}); | ||||||
|   // prettier-ignore
 |   // prettier-ignore
 | ||||||
|   return [ |   return [ | ||||||
|     ...await getBuildArgs(inputs, defaultContext, buildxVersion), |     ...await getBuildArgs(inputs, defaultContext, context, buildxVersion), | ||||||
|     ...await getCommonArgs(inputs, buildxVersion), |     ...await getCommonArgs(inputs, buildxVersion), | ||||||
|     handlebars.compile(inputs.context)({defaultContext}) |     context | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| async function getBuildArgs(inputs: Inputs, defaultContext: string, buildxVersion: string): Promise<Array<string>> { | async function getBuildArgs(inputs: Inputs, defaultContext: string, context: string, buildxVersion: string): Promise<Array<string>> { | ||||||
|   const args: Array<string> = ['build']; |   const args: Array<string> = ['build']; | ||||||
|   await asyncForEach(inputs.addHosts, async addHost => { |   await asyncForEach(inputs.addHosts, async addHost => { | ||||||
|     args.push('--add-host', addHost); |     args.push('--add-host', addHost); | ||||||
| @ -166,7 +167,7 @@ async function getBuildArgs(inputs: Inputs, defaultContext: string, buildxVersio | |||||||
|       core.warning(err.message); |       core.warning(err.message); | ||||||
|     } |     } | ||||||
|   }); |   }); | ||||||
|   if (inputs.githubToken && !buildx.hasGitAuthToken(inputs.secrets) && inputs.context == defaultContext) { |   if (inputs.githubToken && !buildx.hasGitAuthToken(inputs.secrets) && context.startsWith(defaultContext)) { | ||||||
|     args.push('--secret', await buildx.getSecretString(`GIT_AUTH_TOKEN=${inputs.githubToken}`)); |     args.push('--secret', await buildx.getSecretString(`GIT_AUTH_TOKEN=${inputs.githubToken}`)); | ||||||
|   } |   } | ||||||
|   if (inputs.shmSize) { |   if (inputs.shmSize) { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user