2020-08-07 05:01:05 -04:00
## About
GitHub Action to set up Docker [Buildx ](https://github.com/docker/buildx ).
___
* [Usage ](#usage )
* [Quick start ](#quick-start )
2020-08-07 05:34:40 -04:00
* [With QEMU ](#with-qemu )
2020-08-07 05:01:05 -04:00
* [Customizing ](#customizing )
* [inputs ](#inputs )
* [outputs ](#outputs )
* [environment variables ](#environment-variables )
* [Limitation ](#limitation )
## Usage
### Quick start
```yaml
name: ci
on:
pull_request:
branches: master
push:
branches: master
tags:
jobs:
buildx:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Set up Docker Buildx
id: buildx
2020-08-15 22:10:09 -04:00
uses: docker/setup-buildx-action@v1
2020-08-07 05:01:05 -04:00
with:
2020-08-13 04:42:57 -04:00
version: latest
2020-08-12 15:34:30 -04:00
-
name: Builder instance name
run: echo ${{ steps.buildx.outputs.name }}
2020-08-07 05:01:05 -04:00
-
name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}
```
2020-08-07 05:34:40 -04:00
### With QEMU
If you want support for more platforms you can use our [setup-qemu ](../setup-qemu ) action:
```yaml
name: ci
on:
pull_request:
branches: master
push:
branches: master
tags:
jobs:
buildx:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Set up QEMU
2020-08-15 22:10:09 -04:00
uses: docker/setup-qemu-action@v1
2020-08-07 05:34:40 -04:00
with:
2020-08-11 15:58:01 -04:00
platforms: all
2020-08-07 05:34:40 -04:00
-
name: Set up Docker Buildx
id: buildx
2020-08-15 22:10:09 -04:00
uses: docker/setup-buildx-action@v1
2020-08-07 05:34:40 -04:00
with:
2020-08-13 04:42:57 -04:00
version: latest
2020-08-07 05:34:40 -04:00
-
name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}
```
2020-08-07 05:01:05 -04:00
## Customizing
### inputs
Following inputs can be used as `step.with` keys
2020-08-12 09:58:09 -04:00
| Name | Type | Default | Description |
|------------------|---------|-----------------------------------|------------------------------------|
2020-08-13 04:42:57 -04:00
| `version` | String | _the one installed on the runner_ | [Buildx ](https://github.com/docker/buildx ) version. e.g. `v0.3.0` , `latest` |
2020-08-12 09:58:09 -04:00
| `driver` | String | `docker-container` | Sets the [builder driver ](https://github.com/docker/buildx#--driver-driver ) to be used. |
| `driver-opt` | String | | Passes additional [driver-specific options ](https://github.com/docker/buildx#--driver-opt-options ). e.g. `image=moby/buildkit:master` |
| `install` | Bool | `false` | Sets up `docker build` command as an alias to `docker buildx` |
| `use` | Bool | `true` | Switch to this builder instance |
2020-08-07 05:01:05 -04:00
### outputs
Following outputs are available
| Name | Type | Description |
|---------------|---------|---------------------------------------|
2020-08-12 14:27:50 -04:00
| `name` | String | Builder instance name |
2020-08-07 05:01:05 -04:00
| `platforms` | String | Available platforms (comma separated) |
### environment variables
The following [official docker environment variables ](https://docs.docker.com/engine/reference/commandline/cli/#environment-variables ) are supported:
| Name | Type | Default | Description |
|-----------------|---------|-------------|-------------------------------------------------|
| `DOCKER_CONFIG` | String | `~/.docker` | The location of your client configuration files |
## Limitation
This action is only available for Linux [virtual environments ](https://help.github.com/en/articles/virtual-environments-for-github-actions#supported-virtual-environments-and-hardware-resources ).