mirror of
https://github.com/docker/build-push-action
synced 2024-11-10 05:21:40 +00:00
Add install input to set buildx as default builder (#71)
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
parent
925fee3dc9
commit
5290010a6f
5 changed files with 32 additions and 6 deletions
22
.github/workflows/setup-buildx-ci.yml
vendored
22
.github/workflows/setup-buildx-ci.yml
vendored
|
@ -39,6 +39,22 @@ jobs:
|
||||||
name: Available platforms
|
name: Available platforms
|
||||||
run: echo ${{ steps.buildx.outputs.platforms }}
|
run: echo ${{ steps.buildx.outputs.platforms }}
|
||||||
|
|
||||||
|
install:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@v2.3.1
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: ./setup-buildx/
|
||||||
|
with:
|
||||||
|
install: true
|
||||||
|
-
|
||||||
|
name: Check cmd
|
||||||
|
run: |
|
||||||
|
docker build --help
|
||||||
|
|
||||||
with-qemu:
|
with-qemu:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
|
@ -51,12 +67,6 @@ jobs:
|
||||||
- latest
|
- latest
|
||||||
- 4.2.0-7
|
- 4.2.0-7
|
||||||
steps:
|
steps:
|
||||||
-
|
|
||||||
name: Runner info
|
|
||||||
run: |
|
|
||||||
sudo apt-get install -y hwinfo
|
|
||||||
sudo hwinfo --short
|
|
||||||
sudo mount
|
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v2.3.1
|
uses: actions/checkout@v2.3.1
|
||||||
|
|
|
@ -91,6 +91,7 @@ Following inputs can be used as `step.with` keys
|
||||||
| Name | Type | Default | Description |
|
| Name | Type | Default | Description |
|
||||||
|------------------|---------|-----------|------------------------------------|
|
|------------------|---------|-----------|------------------------------------|
|
||||||
| `buildx-version` | String | `latest` | [Buildx](https://github.com/docker/buildx) version. Example: `v0.3.0` |
|
| `buildx-version` | String | `latest` | [Buildx](https://github.com/docker/buildx) version. Example: `v0.3.0` |
|
||||||
|
| `install` | Bool | `false` | Sets up `docker build` command as an alias to `docker buildx` |
|
||||||
|
|
||||||
### outputs
|
### outputs
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,10 @@ inputs:
|
||||||
description: 'Buildx version. Example: v0.3.0'
|
description: 'Buildx version. Example: v0.3.0'
|
||||||
default: 'latest'
|
default: 'latest'
|
||||||
required: false
|
required: false
|
||||||
|
install:
|
||||||
|
description: 'Sets up docker build command as an alias to docker buildx'
|
||||||
|
default: 'false'
|
||||||
|
required: false
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
platforms:
|
platforms:
|
||||||
|
|
5
setup-buildx/dist/index.js
generated
vendored
5
setup-buildx/dist/index.js
generated
vendored
|
@ -2492,6 +2492,7 @@ function run() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const buildxVer = core.getInput('buildx-version') || 'latest';
|
const buildxVer = core.getInput('buildx-version') || 'latest';
|
||||||
|
const install = /true/i.test(core.getInput('install'));
|
||||||
const dockerConfigHome = process.env.DOCKER_CONFIG || path.join(os.homedir(), '.docker');
|
const dockerConfigHome = process.env.DOCKER_CONFIG || path.join(os.homedir(), '.docker');
|
||||||
yield installer.buildx(buildxVer, dockerConfigHome);
|
yield installer.buildx(buildxVer, dockerConfigHome);
|
||||||
core.info('📣 Buildx info');
|
core.info('📣 Buildx info');
|
||||||
|
@ -2508,6 +2509,10 @@ function run() {
|
||||||
]);
|
]);
|
||||||
core.info('🏃 Booting builder...');
|
core.info('🏃 Booting builder...');
|
||||||
yield exec.exec('docker', ['buildx', 'inspect', '--bootstrap']);
|
yield exec.exec('docker', ['buildx', 'inspect', '--bootstrap']);
|
||||||
|
if (install) {
|
||||||
|
core.info('🤝 Setting buildx as default builder...');
|
||||||
|
yield exec.exec('docker', ['buildx', 'install']);
|
||||||
|
}
|
||||||
core.info('🐳 Docker info');
|
core.info('🐳 Docker info');
|
||||||
yield exec.exec('docker', ['info']);
|
yield exec.exec('docker', ['info']);
|
||||||
core.info('🛒 Extracting available platforms...');
|
core.info('🛒 Extracting available platforms...');
|
||||||
|
|
|
@ -14,6 +14,7 @@ async function run(): Promise<void> {
|
||||||
}
|
}
|
||||||
|
|
||||||
const buildxVer: string = core.getInput('buildx-version') || 'latest';
|
const buildxVer: string = core.getInput('buildx-version') || 'latest';
|
||||||
|
const install: boolean = /true/i.test(core.getInput('install'));
|
||||||
const dockerConfigHome: string = process.env.DOCKER_CONFIG || path.join(os.homedir(), '.docker');
|
const dockerConfigHome: string = process.env.DOCKER_CONFIG || path.join(os.homedir(), '.docker');
|
||||||
await installer.buildx(buildxVer, dockerConfigHome);
|
await installer.buildx(buildxVer, dockerConfigHome);
|
||||||
|
|
||||||
|
@ -34,6 +35,11 @@ async function run(): Promise<void> {
|
||||||
core.info('🏃 Booting builder...');
|
core.info('🏃 Booting builder...');
|
||||||
await exec.exec('docker', ['buildx', 'inspect', '--bootstrap']);
|
await exec.exec('docker', ['buildx', 'inspect', '--bootstrap']);
|
||||||
|
|
||||||
|
if (install) {
|
||||||
|
core.info('🤝 Setting buildx as default builder...');
|
||||||
|
await exec.exec('docker', ['buildx', 'install']);
|
||||||
|
}
|
||||||
|
|
||||||
core.info('🐳 Docker info');
|
core.info('🐳 Docker info');
|
||||||
await exec.exec('docker', ['info']);
|
await exec.exec('docker', ['info']);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue