mirror for setup-buildx-action
Go to file
CrazyMax 18ce135bb5
Some checks failed
test / test (push) Failing after 1m14s
validate / prepare (push) Successful in 11s
validate / validate (push) Failing after 6s
ci / main () (push) Successful in 1m29s
ci / windows-error (push) Waiting to run
ci / main (cloud:latest) (push) Successful in 25s
ci / main (cloud:v0.11.2-desktop.2) (push) Successful in 1m25s
ci / main (lab:latest) (push) Failing after 6m37s
ci / main (latest) (push) Successful in 15m6s
ci / main (v0.4.1) (push) Failing after 37s
ci / multi (push) Failing after 34s
ci / error (push) Failing after 37s
ci / debug (push) Failing after 36s
ci / install (push) Failing after 37s
ci / use (false) (push) Failing after 6m36s
ci / use (true) (push) Successful in 1m57s
ci / driver (image=moby/buildkit:latest) (push) Successful in 2m7s
ci / driver (image=moby/buildkit:master network=host ) (push) Failing after 6m35s
ci / docker-driver (push) Successful in 15s
ci / endpoint (push) Failing after 9s
ci / config (push) Failing after 1m27s
ci / config-inline (push) Failing after 2m54s
ci / with-qemu (, all) (push) Successful in 10m35s
ci / with-qemu (, arm64,riscv64,arm) (push) Successful in 14m23s
ci / with-qemu (v0.9.1, all) (push) Failing after 35s
ci / with-qemu (v0.9.1, arm64,riscv64,arm) (push) Failing after 36s
ci / build-ref (cb185f095fd3d9444e0aa605d3789e9e05f2a1e7) (push) Failing after 35s
ci / build-ref (master) (push) Failing after 35s
ci / build-ref (refs/pull/731/head) (push) Failing after 35s
ci / build-ref (refs/tags/v0.5.1) (push) Failing after 36s
ci / standalone-cmd (push) Failing after 36s
ci / standalone-action (push) Failing after 38s
ci / standalone-install-error (push) Failing after 33s
ci / append (push) Successful in 25s
ci / platforms (push) Successful in 9m32s
ci / docker-context (push) Successful in 15s
ci / cleanup (false) (push) Successful in 22s
ci / cleanup (true) (push) Successful in 1m49s
ci / k3s (v0.10.5) (push) Failing after 4m11s
ci / k3s (v0.11.0) (push) Failing after 7m54s
ci / cache-binary (false) (push) Failing after 35s
ci / cache-binary (true) (push) Failing after 35s
ci / keep-state (push) Failing after 34s
ci / keep-state-error (push) Failing after 32s
Merge pull request #425 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.62.1
build(deps): bump @docker/actions-toolkit from 0.61.0 to 0.62.1
2025-06-16 14:26:28 +02:00
__tests__ Support to retain cache 2025-06-13 18:05:09 +02:00
.github ci: keep-state check 2025-06-13 18:37:56 +02:00
.yarn/plugins/@yarnpkg chore: add plugin-interactive-tools yarn pkg 2024-05-07 15:44:37 +02:00
dist chore: update generated content 2025-06-14 00:34:03 +02:00
src skip builder creation if one already exists with the same name 2025-06-13 18:37:56 +02:00
.dockerignore update to yarn 3.6.3 2024-05-07 15:43:51 +02:00
.editorconfig Initial commit (docker/build-push-action#87) 2020-08-18 17:40:31 +02:00
.eslintignore chore: update dev dependencies 2023-09-09 18:21:41 +02:00
.eslintrc.json chore: update dev dependencies 2023-09-09 18:21:41 +02:00
.gitattributes update to yarn 3.6.3 2024-05-07 15:43:51 +02:00
.gitignore update to yarn 3.6.3 2024-05-07 15:43:51 +02:00
.prettierignore update to yarn 3.6.3 2024-05-07 15:43:51 +02:00
.prettierrc.json Allow building buildx from source 2021-07-02 07:02:33 +02:00
.yarnrc.yml chore: add plugin-interactive-tools yarn pkg 2024-05-07 15:44:37 +02:00
action.yml check if driver compatible with keep-state 2025-06-13 18:31:37 +02:00
codecov.yml Allow building buildx from source 2021-07-02 07:02:33 +02:00
dev.Dockerfile update to yarn 3.6.3 2024-05-07 15:43:51 +02:00
docker-bake.hcl update bake-action to v6 2025-01-08 13:01:31 +01:00
jest.config.ts switch to actions-toolkit implementation 2023-02-25 13:27:17 +01:00
LICENSE Initial commit (docker/build-push-action#87) 2020-08-18 17:40:31 +02:00
package.json build(deps): bump @docker/actions-toolkit from 0.61.0 to 0.62.1 2025-06-13 22:12:24 +00:00
README.md check if driver compatible with keep-state 2025-06-13 18:31:37 +02:00
tsconfig.json switch to actions-toolkit implementation 2023-02-25 13:27:17 +01:00
yarn.lock build(deps): bump @docker/actions-toolkit from 0.61.0 to 0.62.1 2025-06-13 22:12:24 +00:00

GitHub release GitHub marketplace CI workflow Test workflow Codecov

About

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.

Screenshot


Usage

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

Configuring your builder

Customizing

inputs

The following inputs can be used as step.with keys:

List type is a newline-delimited string

driver-opts: |
  image=moby/buildkit:master
  network=host  

CSV type must be a comma-delimited string

platforms: linux/amd64,linux/arm64
Name Type Default Description
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.

outputs

The following outputs are available:

Name Type Description
name String Builder name
driver String Builder driver
platforms String Builder node platforms (preferred and/or available)
nodes JSON Builder nodes metadata

environment variables

The following official docker environment variables are supported:

Name Type Default Description
DOCKER_CONFIG String ~/.docker The location of your client configuration files

Notes

nodes output

[
  {
     "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

Contributing

Want to contribute? Awesome! You can find information about contributing to this project in the CONTRIBUTING.md