Skip to content


Use this GitHub Action with your project

Add this Action to an existing workflow or create a new one.

View on Marketplace
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
September 13, 2023 09:51
October 26, 2023 16:12
February 24, 2023 03:22
April 2, 2021 01:19

GitHub release GitHub marketplace CI workflow Test workflow Codecov


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


    runs-on: ubuntu-latest
        name: Checkout
        uses: actions/checkout@v4
        # Add support for more platforms with QEMU (optional)
        name: Set up QEMU
        uses: docker/setup-qemu-action@v3
        name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

Configuring your builder



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

List type is a newline-delimited string

driver-opts: |

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,
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 Flags for buildkitd daemon
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.
config¹ String BuildKit config file
config-inline¹ String Same as config but inline
append YAML Append additional nodes to the builder
cleanup Bool true Cleanup temp files and remove builder at the end of a job
  • ¹ config and config-inline are mutually exclusive


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


nodes output

     "name": "builder-3820d274-502c-4498-ae24-d4c32b3023d90",
     "endpoint": "unix:///var/run/docker.sock",
     "driver-opts": [
    "status": "running",
    "buildkitd-flags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement",
    "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