GitHub Action to set up Docker Buildx.
This action will create and boot a builder that can be used in the following steps of your workflow if you're using Buildx or the build-push
action. By default, the docker-container
driver will be used to be able to build multi-platform images and export cache using a BuildKit container.
name: ci on: push: jobs: buildx: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - # Add support for more platforms with QEMU (optional) # https://github.com/docker/setup-qemu-action name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3
The following inputs can be used as step.with
keys:
List
type is a newline-delimited stringdriver-opts: | image=moby/buildkit:master network=host
Name Type Default Description
CSV
type must be a comma-delimited stringplatforms: linux/amd64,linux/arm64
version
String Buildx version. (eg. v0.3.0
, latest
, https://github.com/docker/buildx.git#master
) name
String Name of the builder. If not specified, one will be generated or if it already exists, it will be used instead of creating a new one driver
String docker-container
Sets the builder driver to be used driver-opts
List List of additional driver-specific options (eg. image=moby/buildkit:master
) buildkitd-flags
String BuildKit daemon flags buildkitd-config
* String BuildKit daemon config file buildkitd-config-inline
* String Same as buildkitd-config
but inline install
Bool false
Sets up docker build
command as an alias to docker buildx
use
Bool true
Switch to this builder instance endpoint
String Optional address for docker socket or context from docker context ls
platforms
List/CSV Fixed platforms for current node. If not empty, values take priority over the detected ones append
YAML Append additional nodes to the builder keep-state
Bool false
Keep BuildKit state on cleanup
. This is only useful on persistent self-hosted runners cache-binary
Bool true
Cache buildx binary to GitHub Actions cache backend cleanup
Bool true
Cleanup temp files and remove builder at the end of a job
Important
If you set the buildkitd-flags
input, the default flags (--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host
) will be reset. If you want to retain the default behavior, make sure to include these flags in your custom buildkitd-flags
value.
Note
buildkitd-config
and buildkitd-config-inline
are mutually exclusive.
The following outputs are available:
Name Type Descriptionname
String Builder name driver
String Builder driver platforms
String Builder node platforms (preferred and/or available) nodes
JSON Builder nodes metadata
The following official docker environment variables are supported:
Name Type Default DescriptionDOCKER_CONFIG
String ~/.docker
The location of your client configuration files
[ { "name": "builder-3820d274-502c-4498-ae24-d4c32b3023d90", "endpoint": "unix:///var/run/docker.sock", "driver-opts": [ "network=host", "image=moby/buildkit:master" ], "status": "running", "buildkitd-flags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host", "buildkit": "3fab389", "platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/amd64/v4,linux/386" } ]Name Type Description
name
String Node name endpoint
String Node endpoint driver-opts
List Options for the driver status
String Node status buildkitd-flags
String Flags for buildkitd daemon buildkit
String BuildKit version platforms
String Platforms available
Want to contribute? Awesome! You can find information about contributing to this project in the CONTRIBUTING.md
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4