mirror of
https://github.com/docker/bake-action.git
synced 2025-07-14 12:41:53 +02:00
Merge pull request #284 from crazy-max/fix-git-auth-token
set GIT_AUTH_TOKEN secret if Git context used
This commit is contained in:
1
.github/workflows/ci.yml
vendored
1
.github/workflows/ci.yml
vendored
@ -729,6 +729,7 @@ jobs:
|
|||||||
name: Build
|
name: Build
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
|
source: .
|
||||||
files: |
|
files: |
|
||||||
./test/config.hcl
|
./test/config.hcl
|
||||||
allow: network.host
|
allow: network.host
|
||||||
|
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
@ -68,6 +68,10 @@ export function sanitizeInputs(inputs: Inputs) {
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getGitAuthToken(inputs: Inputs): string {
|
||||||
|
return process.env.BUILDX_BAKE_GIT_AUTH_TOKEN ?? inputs['github-token'];
|
||||||
|
}
|
||||||
|
|
||||||
export async function getArgs(inputs: Inputs, definition: BakeDefinition, toolkit: Toolkit): Promise<Array<string>> {
|
export async function getArgs(inputs: Inputs, definition: BakeDefinition, toolkit: Toolkit): Promise<Array<string>> {
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
return [
|
return [
|
||||||
@ -97,6 +101,15 @@ async function getBakeArgs(inputs: Inputs, definition: BakeDefinition, toolkit:
|
|||||||
await Util.asyncForEach(inputs.set, async set => {
|
await Util.asyncForEach(inputs.set, async set => {
|
||||||
args.push('--set', set);
|
args.push('--set', set);
|
||||||
});
|
});
|
||||||
|
if (await toolkit.buildx.versionSatisfies('<0.20.0')) {
|
||||||
|
// For buildx versions < 0.20.0, we need to set GIT_AUTH_TOKEN secret as it
|
||||||
|
// doesn't infer BUILDX_BAKE_GIT_AUTH_TOKEN environment variable for build
|
||||||
|
// request: https://github.com/docker/buildx/pull/2905
|
||||||
|
const gitAuthToken = getGitAuthToken(inputs);
|
||||||
|
if (gitAuthToken && !Bake.hasGitAuthTokenSecret(definition) && inputs.source.startsWith(Context.gitContext())) {
|
||||||
|
args.push('--set', `*.secrets=${Build.resolveSecretString(`GIT_AUTH_TOKEN=${gitAuthToken}`)}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (await toolkit.buildx.versionSatisfies('>=0.6.0')) {
|
if (await toolkit.buildx.versionSatisfies('>=0.6.0')) {
|
||||||
args.push('--metadata-file', toolkit.buildxBake.getMetadataFilePath());
|
args.push('--metadata-file', toolkit.buildxBake.getMetadataFilePath());
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ actionsToolkit.run(
|
|||||||
stateHelper.setInputs(inputs);
|
stateHelper.setInputs(inputs);
|
||||||
|
|
||||||
const toolkit = new Toolkit();
|
const toolkit = new Toolkit();
|
||||||
const gitAuthToken = process.env.BUILDX_BAKE_GIT_AUTH_TOKEN ?? inputs['github-token'];
|
const gitAuthToken = context.getGitAuthToken(inputs);
|
||||||
|
|
||||||
await core.group(`GitHub Actions runtime token ACs`, async () => {
|
await core.group(`GitHub Actions runtime token ACs`, async () => {
|
||||||
try {
|
try {
|
||||||
|
Reference in New Issue
Block a user