mirror of
https://github.com/docker/build-push-action.git
synced 2024-12-25 16:22:12 -05:00
Add --ssh arg support
Signed-off-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
This commit is contained in:
parent
41a004098f
commit
fa61d38ad8
4 changed files with 18 additions and 3 deletions
|
@ -673,6 +673,7 @@ Following inputs can be used as `step.with` keys
|
|||
| `cache-from` | List | List of [external cache sources](https://github.com/docker/buildx#--cache-fromnametypetypekeyvalue) (eg. `type=local,src=path/to/dir`) |
|
||||
| `cache-to` | List | List of [cache export destinations](https://github.com/docker/buildx#--cache-tonametypetypekeyvalue) (eg. `type=local,dest=path/to/dir`) |
|
||||
| `secrets` | List | List of secrets to expose to the build (eg. `key=value`, `GIT_AUTH_TOKEN=mytoken`) |
|
||||
| `ssh` | List | List of SSH agent socket or keys to expose to the build (eg: `default|<id>[=<socket>|<key>[,<key>]]`) |
|
||||
|
||||
### outputs
|
||||
|
||||
|
|
|
@ -67,6 +67,9 @@ inputs:
|
|||
description: "GitHub Token used to authenticate against a repository for Git context"
|
||||
default: ${{ github.token }}
|
||||
required: false
|
||||
ssh:
|
||||
description: "List of SSH agent socket or keys to expose to the build (eg: default)"
|
||||
required: false
|
||||
|
||||
outputs:
|
||||
digest:
|
||||
|
|
6
dist/index.js
generated
vendored
6
dist/index.js
generated
vendored
|
@ -12082,7 +12082,8 @@ function getInputs(defaultContext) {
|
|||
cacheFrom: yield getInputList('cache-from', true),
|
||||
cacheTo: yield getInputList('cache-to', true),
|
||||
secrets: yield getInputList('secrets', true),
|
||||
githubToken: core.getInput('github-token')
|
||||
githubToken: core.getInput('github-token'),
|
||||
ssh: yield getInputList('ssh')
|
||||
};
|
||||
});
|
||||
}
|
||||
|
@ -12137,6 +12138,9 @@ function getBuildArgs(inputs, defaultContext, buildxVersion) {
|
|||
if (inputs.githubToken && !buildx.hasGitAuthToken(inputs.secrets) && inputs.context == defaultContext) {
|
||||
args.push('--secret', yield buildx.getSecret(`GIT_AUTH_TOKEN=${inputs.githubToken}`));
|
||||
}
|
||||
yield exports.asyncForEach(inputs.ssh, (ssh) => __awaiter(this, void 0, void 0, function* () {
|
||||
args.push('--ssh', ssh);
|
||||
}));
|
||||
if (inputs.file) {
|
||||
args.push('--file', inputs.file);
|
||||
}
|
||||
|
|
|
@ -3,10 +3,12 @@ import * as os from 'os';
|
|||
import * as path from 'path';
|
||||
import * as semver from 'semver';
|
||||
import * as tmp from 'tmp';
|
||||
import * as buildx from './buildx';
|
||||
|
||||
import * as core from '@actions/core';
|
||||
import * as github from '@actions/github';
|
||||
|
||||
import * as buildx from './buildx';
|
||||
|
||||
let _defaultContext, _tmpDir: string;
|
||||
|
||||
export interface Inputs {
|
||||
|
@ -28,6 +30,7 @@ export interface Inputs {
|
|||
cacheTo: string[];
|
||||
secrets: string[];
|
||||
githubToken: string;
|
||||
ssh: string[];
|
||||
}
|
||||
|
||||
export function defaultContext(): string {
|
||||
|
@ -69,7 +72,8 @@ export async function getInputs(defaultContext: string): Promise<Inputs> {
|
|||
cacheFrom: await getInputList('cache-from', true),
|
||||
cacheTo: await getInputList('cache-to', true),
|
||||
secrets: await getInputList('secrets', true),
|
||||
githubToken: core.getInput('github-token')
|
||||
githubToken: core.getInput('github-token'),
|
||||
ssh: await getInputList('ssh')
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -122,6 +126,9 @@ async function getBuildArgs(inputs: Inputs, defaultContext: string, buildxVersio
|
|||
if (inputs.githubToken && !buildx.hasGitAuthToken(inputs.secrets) && inputs.context == defaultContext) {
|
||||
args.push('--secret', await buildx.getSecret(`GIT_AUTH_TOKEN=${inputs.githubToken}`));
|
||||
}
|
||||
await asyncForEach(inputs.ssh, async ssh => {
|
||||
args.push('--ssh', ssh);
|
||||
});
|
||||
if (inputs.file) {
|
||||
args.push('--file', inputs.file);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue