mirror of
				https://gitea.com/docker/build-push-action.git
				synced 2025-11-04 10:03:40 +08:00 
			
		
		
		
	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:
		@@ -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) {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user