Compare commits

...

35 Commits

Author SHA1 Message Date
CrazyMax 6c87dcca98 Merge pull request #94 from crazy-max/setOutput
Remove workaround for setOutput
2022-10-12 08:34:11 +02:00
CrazyMax 800ee8447d Remove workaround for setOutput
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-12 07:02:18 +02:00
CrazyMax a7524f88c3 Merge pull request #93 from crazy-max/fix-links
update links to docs
2022-10-07 16:44:14 +02:00
CrazyMax f589b1f80f update links to docs
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-07 16:41:51 +02:00
CrazyMax 1c7934bc60 Merge pull request #92 from docker/dependabot/npm_and_yarn/actions/core-1.10.0
Bump @actions/core from 1.9.1 to 1.10.0
2022-10-07 16:37:13 +02:00
CrazyMax 9e746ade7c Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-07 16:32:46 +02:00
dependabot[bot] 854dbd7db9 Bump @actions/core from 1.9.1 to 1.10.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.9.1 to 1.10.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-29 23:15:18 +00:00
CrazyMax 0ddeddfa93 Merge pull request #89 from gforien/patch-1
docs(README): clarify default value for 'target'
2022-09-01 17:19:14 +02:00
CrazyMax b07b164d66 Merge pull request #90 from docker/dependabot/npm_and_yarn/actions/core-1.9.1
Bump @actions/core from 1.9.0 to 1.9.1
2022-08-24 13:16:34 +02:00
CrazyMax 7ee4a98a55 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-08-24 12:30:01 +02:00
dependabot[bot] 8db227756f Bump @actions/core from 1.9.0 to 1.9.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.9.0 to 1.9.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 23:10:12 +00:00
Gabriel Forien d7ce3c3dac docs(README): clarify default value for 'target'
Signed-off-by: Gabriel Forien <gforien@users.noreply.github.com>
2022-08-02 18:23:38 +02:00
CrazyMax e878ca2dca Merge pull request #86 from docker/dependabot/npm_and_yarn/csv-parse-5.3.0
Bump csv-parse from 5.2.0 to 5.3.0
2022-07-19 16:58:28 +02:00
CrazyMax 3123696764 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-07-19 16:53:32 +02:00
dependabot[bot] c22ea4a824 Bump csv-parse from 5.2.0 to 5.3.0
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/adaltas/node-csv/releases)
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.3.0/packages/csv-parse)

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-19 16:53:14 +02:00
CrazyMax 5cb4f0eeb6 Merge pull request #76 from tuler/feature/working-directory
Add workdir option
2022-07-19 16:18:47 +02:00
Danilo Tuler e917a42053 Add working-directory option
Signed-off-by: Danilo Tuler <tuler@pobox.com>
2022-07-11 09:40:50 -04:00
CrazyMax c7fa0af149 Merge pull request #80 from docker/dependabot/npm_and_yarn/actions/core-1.9.0
Bump @actions/core from 1.8.2 to 1.9.0
2022-06-25 13:37:49 +02:00
CrazyMax 41e0cbc69d Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-06-25 13:29:56 +02:00
dependabot[bot] d6fc753959 Bump @actions/core from 1.8.2 to 1.9.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.8.2 to 1.9.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-25 11:28:54 +00:00
CrazyMax 7c9d36984e Merge pull request #79 from docker/dependabot/npm_and_yarn/csv-parse-5.2.0
Bump csv-parse from 5.1.0 to 5.2.0
2022-06-25 13:24:06 +02:00
CrazyMax 064f6ed0d0 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-06-25 13:21:59 +02:00
dependabot[bot] d666a2cf09 Bump csv-parse from 5.1.0 to 5.2.0
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/adaltas/node-csv/releases)
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.2.0/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-25 11:19:06 +00:00
CrazyMax eff809a17c Merge pull request #82 from crazy-max/remote
read bake definition files from remote context support
2022-06-25 13:17:32 +02:00
CrazyMax bb2d1b0aab support building from remote bake definition
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-06-24 10:56:57 +02:00
CrazyMax 438d016327 Merge pull request #77 from docker/dependabot/npm_and_yarn/csv-parse-5.1.0
Bump csv-parse from 5.0.4 to 5.1.0
2022-06-07 11:46:20 +02:00
CrazyMax 9e1a3e1d40 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-06-07 11:34:55 +02:00
dependabot[bot] 4cfa3a6cb8 Bump csv-parse from 5.0.4 to 5.1.0
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.0.4 to 5.1.0.
- [Release notes](https://github.com/adaltas/node-csv/releases)
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.1.0/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-07 09:30:26 +00:00
CrazyMax e12a6ceedb Merge pull request #75 from docker/dependabot/npm_and_yarn/actions/core-1.8.2
Bump @actions/core from 1.6.0 to 1.8.2
2022-06-07 11:27:19 +02:00
CrazyMax 7138010b3f Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-06-07 11:25:48 +02:00
CrazyMax dbecd73e13 Merge pull request #78 from crazy-max/bump-actions
Bump actions to latest major
2022-06-07 11:21:34 +02:00
CrazyMax 167801e346 Bump actions to latest major
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-05-28 18:35:39 +02:00
dependabot[bot] d125e2ebd4 Bump @actions/core from 1.6.0 to 1.8.2
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.6.0 to 1.8.2.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-13 23:08:43 +00:00
CrazyMax e073915f07 Merge pull request #72 from crazy-max/update-refs
Bump all Docker actions to latest major
2022-05-05 19:46:05 +02:00
CrazyMax 1721b445f7 Bump all Docker actions to latest major
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-05-05 19:40:03 +02:00
13 changed files with 107 additions and 117 deletions
+16 -15
View File
@@ -34,11 +34,11 @@ jobs:
uses: actions/checkout@v3 uses: actions/checkout@v3
- -
name: Set up QEMU name: Set up QEMU
uses: docker/setup-qemu-action@v1 uses: docker/setup-qemu-action@v2
- -
name: Set up Docker Buildx name: Set up Docker Buildx
id: buildx id: buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v2
with: with:
driver-opts: network=host driver-opts: network=host
- -
@@ -51,10 +51,6 @@ jobs:
targets: | targets: |
${{ matrix.target }} ${{ matrix.target }}
push: false # set to true when https://github.com/docker/buildx/issues/179 is fixed push: false # set to true when https://github.com/docker/buildx/issues/179 is fixed
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v1
error-msg: error-msg:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -71,10 +67,6 @@ jobs:
./test/config.hcl ./test/config.hcl
set: | set: |
*.platform=linux/amd64,linux/ppc64le,linux/s390x *.platform=linux/amd64,linux/ppc64le,linux/s390x
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v1
error-check: error-check:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -102,10 +94,6 @@ jobs:
echo "::error::Should have failed" echo "::error::Should have failed"
exit 1 exit 1
fi fi
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v1
standalone: standalone:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -119,10 +107,23 @@ jobs:
sudo apt-get purge -y moby-cli moby-buildx sudo apt-get purge -y moby-cli moby-buildx
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v2
- -
name: Build name: Build
uses: ./ uses: ./
with: with:
files: | files: |
./test/config.hcl ./test/config.hcl
source:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Build
uses: ./
with:
source: https://github.com/docker/buildx.git#v0.8.2
targets: update-docs
+1 -1
View File
@@ -19,7 +19,7 @@ jobs:
uses: actions/checkout@v3 uses: actions/checkout@v3
- -
name: Test name: Test
uses: docker/bake-action@v1 uses: docker/bake-action@v2
with: with:
targets: test targets: test
- -
+1 -1
View File
@@ -19,6 +19,6 @@ jobs:
uses: actions/checkout@v3 uses: actions/checkout@v3
- -
name: Validate name: Validate
uses: docker/bake-action@v1 uses: docker/bake-action@v2
with: with:
targets: validate targets: validate
+19 -27
View File
@@ -5,13 +5,14 @@
## :test_tube: Experimental ## :test_tube: Experimental
This repository is considered **EXPERIMENTAL** and under active development until further notice. It is subject to This repository is considered **EXPERIMENTAL** and under active development
non-backward compatible changes or removal in any future version so you should [pin to a specific tag/commit](https://docs.github.com/en/actions/creating-actions/about-actions#using-tags-for-release-management) until further notice. It is subject to non-backward compatible changes or
removal in any future version, so you should [pin to a specific tag/commit](https://docs.github.com/en/actions/creating-actions/about-actions#using-tags-for-release-management)
of this action in your workflow (i.e `docker/bake-action@v1.1.3`). of this action in your workflow (i.e `docker/bake-action@v1.1.3`).
## About ## About
GitHub Action to use Docker [Buildx Bake](https://github.com/docker/buildx/blob/master/docs/reference/buildx_bake.md) GitHub Action to use Docker [Buildx Bake](https://docs.docker.com/build/customize/bake/)
as a high-level build command. as a high-level build command.
![Screenshot](.github/bake-action.png) ![Screenshot](.github/bake-action.png)
@@ -22,7 +23,7 @@ ___
* [Customizing](#customizing) * [Customizing](#customizing)
* [inputs](#inputs) * [inputs](#inputs)
* [outputs](#outputs) * [outputs](#outputs)
* [Keep up-to-date with GitHub Dependabot](#keep-up-to-date-with-github-dependabot) * [Contributing](#contributing)
## Usage ## Usage
@@ -40,19 +41,19 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v3
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v2
- -
name: Login to DockerHub name: Login to DockerHub
uses: docker/login-action@v1 uses: docker/login-action@v2
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- -
name: Build and push name: Build and push
uses: docker/bake-action@master uses: docker/bake-action@v2
with: with:
push: true push: true
``` ```
@@ -79,36 +80,27 @@ Following inputs can be used as `step.with` keys
> ``` > ```
| Name | Type | Description | | Name | Type | Description |
|------------------|----------|------------------------------------| |------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------|
| `builder` | String | Builder instance (see [setup-buildx](https://github.com/docker/setup-buildx-action) action) | | `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) | | `files` | List/CSV | List of [bake definition files](https://docs.docker.com/build/customize/bake/file-definition/) |
| `targets` | List/CSV | List of bake targets | | `workdir` | String | Working directory of execution |
| `targets` | List/CSV | List of bake targets (`default` target used if empty) |
| `no-cache` | Bool | Do not use cache when building the image (default `false`) | | `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`) | | `pull` | Bool | Always attempt to pull a newer version of the image (default `false`) |
| `load` | Bool | Load is a shorthand for `--set=*.output=type=docker` (default `false`) | | `load` | Bool | Load is a shorthand for `--set=*.output=type=docker` (default `false`) |
| `push` | Bool | Push is a shorthand for `--set=*.output=type=registry` (default `false`) | | `push` | Bool | Push is a shorthand for `--set=*.output=type=registry` (default `false`) |
| `set` | List | List of [targets values to override](https://github.com/docker/buildx/blob/master/docs/reference/buildx_bake.md#set) (eg: `targetpattern.key=value`) | | `set` | List | List of [targets values to override](https://docs.docker.com/engine/reference/commandline/buildx_bake/#set) (eg: `targetpattern.key=value`) |
| `source` | String | [Remote bake definition](https://docs.docker.com/build/customize/bake/file-definition/#remote-definition) to build from |
### outputs ### outputs
Following outputs are available Following outputs are available
| Name | Type | Description | | Name | Type | Description |
|-------------------|---------|---------------------------------------| |------------|------|-----------------------|
| `metadata` | JSON | Build result metadata | | `metadata` | JSON | Build result metadata |
## Keep up-to-date with GitHub Dependabot ## Contributing
Since [Dependabot](https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-github-dependabot) Want to contribute? Awesome! You can find information about contributing to
has [native GitHub Actions support](https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates#package-ecosystem), this project in the [CONTRIBUTING.md](/.github/CONTRIBUTING.md)
to enable it on your GitHub repo all you need to do is add the `.github/dependabot.yml` file:
```yaml
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
```
+1 -34
View File
@@ -1,5 +1,4 @@
import {beforeEach, describe, expect, it, jest} from '@jest/globals'; import {describe, expect, it} from '@jest/globals';
import * as os from 'os';
import * as context from '../src/context'; import * as context from '../src/context';
describe('getInputList', () => { describe('getInputList', () => {
@@ -149,30 +148,6 @@ describe('asyncForEach', () => {
}); });
}); });
describe('setOutput', () => {
beforeEach(() => {
process.stdout.write = jest.fn() as typeof process.stdout.write;
});
// eslint-disable-next-line jest/expect-expect
it('setOutput produces the correct command', () => {
context.setOutput('some output', 'some value');
assertWriteCalls([`::set-output name=some output::some value${os.EOL}`]);
});
// eslint-disable-next-line jest/expect-expect
it('setOutput handles bools', () => {
context.setOutput('some output', false);
assertWriteCalls([`::set-output name=some output::false${os.EOL}`]);
});
// eslint-disable-next-line jest/expect-expect
it('setOutput handles numbers', () => {
context.setOutput('some output', 1.01);
assertWriteCalls([`::set-output name=some output::1.01${os.EOL}`]);
});
});
// See: https://github.com/actions/toolkit/blob/a1b068ec31a042ff1e10a522d8fdf0b8869d53ca/packages/core/src/core.ts#L89 // See: https://github.com/actions/toolkit/blob/a1b068ec31a042ff1e10a522d8fdf0b8869d53ca/packages/core/src/core.ts#L89
function getInputName(name: string): string { function getInputName(name: string): string {
return `INPUT_${name.replace(/ /g, '_').toUpperCase()}`; return `INPUT_${name.replace(/ /g, '_').toUpperCase()}`;
@@ -181,11 +156,3 @@ function getInputName(name: string): string {
function setInput(name: string, value: string): void { function setInput(name: string, value: string): void {
process.env[getInputName(name)] = value; process.env[getInputName(name)] = value;
} }
// Assert that process.stdout.write calls called only with the given arguments.
function assertWriteCalls(calls: string[]): void {
expect(process.stdout.write).toHaveBeenCalledTimes(calls.length);
for (let i = 0; i < calls.length; i++) {
expect(process.stdout.write).toHaveBeenNthCalledWith(i + 1, calls[i]);
}
}
+7
View File
@@ -13,6 +13,10 @@ inputs:
files: files:
description: "List of bake definition files" description: "List of bake definition files"
required: true required: true
workdir:
description: "Working directory of bake execution"
required: false
default: '.'
targets: targets:
description: "List of bake targets" description: "List of bake targets"
required: false required: false
@@ -35,6 +39,9 @@ inputs:
set: set:
description: "List of targets values to override (eg. targetpattern.key=value)" description: "List of targets values to override (eg. targetpattern.key=value)"
required: false required: false
source:
description: "Remote bake definition to build from"
required: false
outputs: outputs:
metadata: metadata:
Generated Vendored
+2 -2
View File
File diff suppressed because one or more lines are too long
Generated Vendored
+1 -1
View File
File diff suppressed because one or more lines are too long
Generated Vendored
+13
View File
@@ -428,6 +428,19 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. THE SOFTWARE.
uuid
MIT
The MIT License (MIT)
Copyright (c) 2010-2020 Robert Kieffer and other contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
wrappy wrappy
ISC ISC
The ISC License The ISC License
+2 -2
View File
@@ -28,9 +28,9 @@
], ],
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@actions/core": "^1.6.0", "@actions/core": "^1.10.0",
"@actions/exec": "^1.1.1", "@actions/exec": "^1.1.1",
"csv-parse": "^5.0.4", "csv-parse": "^5.3.0",
"semver": "^7.3.7", "semver": "^7.3.7",
"tmp": "^0.2.1" "tmp": "^0.2.1"
}, },
+9 -8
View File
@@ -1,23 +1,24 @@
import {parse} from 'csv-parse/sync';
import * as fs from 'fs'; import * as fs from 'fs';
import * as os from 'os'; import * as os from 'os';
import * as path from 'path'; import * as path from 'path';
import * as tmp from 'tmp'; import * as tmp from 'tmp';
import * as buildx from './buildx'; import * as buildx from './buildx';
import * as core from '@actions/core'; import * as core from '@actions/core';
import {issueCommand} from '@actions/core/lib/command'; import {parse} from 'csv-parse/sync';
let _tmpDir: string; let _tmpDir: string;
export interface Inputs { export interface Inputs {
builder: string; builder: string;
files: string[]; files: string[];
workdir: string;
targets: string[]; targets: string[];
noCache: boolean; noCache: boolean;
pull: boolean; pull: boolean;
load: boolean; load: boolean;
push: boolean; push: boolean;
set: string[]; set: string[];
source: string;
} }
export function tmpDir(): string { export function tmpDir(): string {
@@ -35,12 +36,14 @@ export async function getInputs(): Promise<Inputs> {
return { return {
builder: core.getInput('builder'), builder: core.getInput('builder'),
files: getInputList('files'), files: getInputList('files'),
workdir: core.getInput('workdir') || '.',
targets: getInputList('targets'), targets: getInputList('targets'),
noCache: core.getBooleanInput('no-cache'), noCache: core.getBooleanInput('no-cache'),
pull: core.getBooleanInput('pull'), pull: core.getBooleanInput('pull'),
load: core.getBooleanInput('load'), load: core.getBooleanInput('load'),
push: core.getBooleanInput('push'), push: core.getBooleanInput('push'),
set: getInputList('set', true) set: getInputList('set', true),
source: core.getInput('source')
}; };
} }
@@ -55,6 +58,9 @@ export async function getArgs(inputs: Inputs, buildxVersion: string): Promise<Ar
async function getBakeArgs(inputs: Inputs, buildxVersion: string): Promise<Array<string>> { async function getBakeArgs(inputs: Inputs, buildxVersion: string): Promise<Array<string>> {
const args: Array<string> = ['bake']; const args: Array<string> = ['bake'];
if (inputs.source) {
args.push(inputs.source);
}
await asyncForEach(inputs.files, async file => { await asyncForEach(inputs.files, async file => {
args.push('--file', file); args.push('--file', file);
}); });
@@ -120,8 +126,3 @@ export const asyncForEach = async (array, callback) => {
await callback(array[index], index, array); await callback(array[index], index, array);
} }
}; };
// FIXME: Temp fix https://github.com/actions/toolkit/issues/777
export function setOutput(name: string, value: unknown): void {
issueCommand('set-output', {name}, value);
}
+5 -2
View File
@@ -44,11 +44,14 @@ async function run(): Promise<void> {
const buildCmd = buildx.getCommand(args, standalone); const buildCmd = buildx.getCommand(args, standalone);
core.startGroup(`Bake definition`); 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(); core.endGroup();
await exec await exec
.getExecOutput(buildCmd.command, buildCmd.args, { .getExecOutput(buildCmd.command, buildCmd.args, {
cwd: inputs.workdir,
ignoreReturnCode: true ignoreReturnCode: true
}) })
.then(res => { .then(res => {
@@ -61,7 +64,7 @@ async function run(): Promise<void> {
if (metadata) { if (metadata) {
await core.group(`Metadata output`, async () => { await core.group(`Metadata output`, async () => {
core.info(metadata); core.info(metadata);
context.setOutput('metadata', metadata); core.setOutput('metadata', metadata);
}); });
} }
} catch (error) { } catch (error) {
+21 -15
View File
@@ -2,12 +2,13 @@
# yarn lockfile v1 # yarn lockfile v1
"@actions/core@^1.6.0": "@actions/core@^1.10.0":
version "1.6.0" version "1.10.0"
resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.6.0.tgz#0568e47039bfb6a9170393a73f3b7eb3b22462cb" resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.10.0.tgz#44551c3c71163949a2f06e94d9ca2157a0cfac4f"
integrity sha512-NB1UAZomZlCV/LmJqkLhNTqtKfFXJZAUPcfl/zqG7EfsQdeUJtaWO98SGbuQ3pydJ3fHl2CvI/51OKYlCYYcaw== integrity sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==
dependencies: dependencies:
"@actions/http-client" "^1.0.11" "@actions/http-client" "^2.0.1"
uuid "^8.3.2"
"@actions/exec@^1.1.1": "@actions/exec@^1.1.1":
version "1.1.1" version "1.1.1"
@@ -16,12 +17,12 @@
dependencies: dependencies:
"@actions/io" "^1.0.1" "@actions/io" "^1.0.1"
"@actions/http-client@^1.0.11": "@actions/http-client@^2.0.1":
version "1.0.11" version "2.0.1"
resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-1.0.11.tgz#c58b12e9aa8b159ee39e7dd6cbd0e91d905633c0" resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.0.1.tgz#873f4ca98fe32f6839462a6f046332677322f99c"
integrity sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg== integrity sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==
dependencies: dependencies:
tunnel "0.0.6" tunnel "^0.0.6"
"@actions/io@^1.0.1": "@actions/io@^1.0.1":
version "1.0.2" version "1.0.2"
@@ -1444,10 +1445,10 @@ cssstyle@^2.3.0:
dependencies: dependencies:
cssom "~0.3.6" cssom "~0.3.6"
csv-parse@*, csv-parse@^5.0.4: csv-parse@*, csv-parse@^5.3.0:
version "5.0.4" version "5.3.0"
resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.0.4.tgz#97e5e654413bcf95f2714ce09bcb2be6de0eb8e3" resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.3.0.tgz#85cc02fc9d1c89bd1b02e69069c960f8b8064322"
integrity sha512-5AIdl8l6n3iYQYxan5djB5eKDa+vBnhfWZtRpJTcrETWfVLYN0WSj3L9RwvgYt+psoO77juUr8TG8qpfGZifVQ== integrity sha512-UXJCGwvJ2fep39purtAn27OUYmxB1JQto+zhZ4QlJpzsirtSFbzLvip1aIgziqNdZp/TptvsKEV5BZSxe10/DQ==
data-urls@^2.0.0: data-urls@^2.0.0:
version "2.0.0" version "2.0.0"
@@ -3351,7 +3352,7 @@ tsutils@^3.21.0:
dependencies: dependencies:
tslib "^1.8.1" tslib "^1.8.1"
tunnel@0.0.6: tunnel@^0.0.6:
version "0.0.6" version "0.0.6"
resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c"
integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==
@@ -3409,6 +3410,11 @@ uri-js@^4.2.2:
dependencies: dependencies:
punycode "^2.1.0" punycode "^2.1.0"
uuid@^8.3.2:
version "8.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
v8-compile-cache-lib@^3.0.0: v8-compile-cache-lib@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8" resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8"