Add working-directory option

Signed-off-by: Danilo Tuler <tuler@pobox.com>
This commit is contained in:
Danilo Tuler
2022-07-08 08:53:34 -04:00
parent c7fa0af149
commit e917a42053
6 changed files with 14 additions and 4 deletions

View File

@@ -82,6 +82,7 @@ Following inputs can be used as `step.with` keys
|------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| `builder` | String | Builder instance (see [setup-buildx](https://github.com/docker/setup-buildx-action) action) |
| `files` | List/CSV | List of [bake definition files](https://github.com/docker/buildx/blob/master/docs/reference/buildx_bake.md#file) |
| `workdir` | String | Working directory of execution |
| `targets` | List/CSV | List of bake targets |
| `no-cache` | Bool | Do not use cache when building the image (default `false`) |
| `pull` | Bool | Always attempt to pull a newer version of the image (default `false`) |

View File

@@ -13,6 +13,10 @@ inputs:
files:
description: "List of bake definition files"
required: true
workdir:
description: "Working directory of bake execution"
required: false
default: '.'
targets:
description: "List of bake targets"
required: false

4
dist/index.js generated vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@@ -12,6 +12,7 @@ let _tmpDir: string;
export interface Inputs {
builder: string;
files: string[];
workdir: string;
targets: string[];
noCache: boolean;
pull: boolean;
@@ -36,6 +37,7 @@ export async function getInputs(): Promise<Inputs> {
return {
builder: core.getInput('builder'),
files: getInputList('files'),
workdir: core.getInput('workdir') || '.',
targets: getInputList('targets'),
noCache: core.getBooleanInput('no-cache'),
pull: core.getBooleanInput('pull'),

View File

@@ -44,11 +44,14 @@ async function run(): Promise<void> {
const buildCmd = buildx.getCommand(args, standalone);
core.startGroup(`Bake definition`);
await exec.exec(buildCmd.command, [...buildCmd.args, '--print']);
await exec.exec(buildCmd.command, [...buildCmd.args, '--print'], {
cwd: inputs.workdir
});
core.endGroup();
await exec
.getExecOutput(buildCmd.command, buildCmd.args, {
cwd: inputs.workdir,
ignoreReturnCode: true
})
.then(res => {