We use cookies to understand how people use Depot.

GitHub Actions

Faster Docker image builds, without running your own runners.
- uses: docker/build-push-action
+ uses: depot/build-push-action
with: platforms: linux/amd64,linux/arm64 push: true tags: | user/app:latest user/app:1.0.0 ghcr.io/user/app:latest ghcr.io/user/app:1.0.0
Screenshot of showing replacing docker/build-push-action with depot/build-push-action
Screenshot of adding a GitHub repository to a project's trust policies

Depot is the fastest way to build your Docker images in GitHub Actions. Build multi-platform Docker images for Intel and Arm on native CPUs with zero-emulation. Share your Docker layer cache between GitHub Actions and your local machine with instant cache sharing.

Drop-in replacement Actions

Already using Docker GitHub Actions? Depot Actions are a drop-in replacement:

depot/build-push-action

The depot/build-push-action builds Docker images using Depot remote build machines. The image can then be pushed to a registry, or loaded back into the GitHub Actions environment for further integration testing:

steps:
  - uses: depot/setup-action@v1
  - uses: depot/build-push-action@v1
    with:
      tags: org/repo:tag
      project: <your-depot-project-id>
 
  # Push to a registry
  - uses: depot/build-push-action@v1
    with:
      tags: org/repo:tag
      push: true
      project: <your-depot-project-id>
 
  # Load into the GitHub Actions environment
  - uses: depot/build-push-action@v1
    with:
      tags: org/repo:tag
      load: true
      project: <your-depot-project-id>
 
  # Or do both!
  - uses: depot/build-push-action@v1
    with:
      tags: org/repo:tag
      push: true
      load: true
      project: <your-depot-project-id>

depot/bake-action

The depot/bake-action uses depot bake to build multiple Docker images from a single HCL, JSON, or docker-compose.yml file:

steps:
  - uses: depot/setup-action@v1
  - uses: depot/bake-action@v1
    with:
      files: docker-compose.yml
      project: <your-depot-project-id>

depot/use-action

The depot/use-action installs Depot as a local Docker Buildx driver and sets it as the default builder. This allows you to use docker buildx commands with Depot:

steps:
  - uses: depot/use-action@v1
    with:
      project: <your-depot-project-id>
  - run: docker buildx build -t org/repo:tag .

Build multi-platform Docker images, without emulation

Depot routes builds to native build machines, so for example if you request a build for linux/arm64, it will build using an Arm machine. If you request multiple platforms, Depot will distribute the build across multiple machines based on the platforms requested, avoiding the need for slow emulation.

This happens automatically when specifying the build platforms:

steps:
  - uses: depot/setup-action@v1
 
  # With depot/build-push-action
  - uses: depot/build-push-action@v1
    with:
      platforms: linux/amd64,linux/arm64
      tags: org/repo:tag
      project: <your-depot-project-id>
 
  # With the depot CLI
  - run: depot build --platform linux/amd64,linux/arm64 --tag org/repo:tag --project <your-depot-project-id> .

Persistent Docker layer cache

Docker layer cache is automatically persisted across builds on fully managed persistent NVMe cache SSDs that are expanable up to 500GB. This avoids saving and loading the large cache layers from previous builds over the network for each build.

OIDC Authentication

Depot supports authentication with GitHub Actions OIDC tokens. This eliminates the need to use static access tokens or secrets in your project, and provides additional trust information about the environment that launched each build.

Each Depot project can be configured to allow builds from specific repositories, then the CLI will automatically authenticate using a GitHub Actions OIDC token exchange:

permissions:
  contents: read
  id-token: write
 
steps:
  - uses: depot/setup-action@v1
  # Authenticates with GitHub Actions OIDC token exchange (allowed by id-token: write)
  - uses: depot/build-push-action@v1
    with:
      project: <your-depot-project-id>
Build Docker containers 40x faster
Get started for free →