Depot GitHub Actions runners
Depot GitHub Actions runners are a drop-in replacement for your existing runners in any GitHub Actions job. Our runners are up to 3x faster than a GitHub-hosted runner. Depot runners are integrated into our cache orchestration system, so you also get 10x faster caching without having to change anything in your jobs.
To use Depot runners, your repository must be owned by a GitHub organization (not a personal account).
Switching to Depot
After you connect your Depot organization to your GitHub repository, switching to Depot is a one-line change to your runner label in your GitHub actions workflow file. For example:
jobs:
build:
name: Build
- runs-on: ubuntu-24.04
+ runs-on: depot-ubuntu-24.04
steps:
...For a step-by-step guide, see the quickstart.
Feature summary
| Single tenant infrastructure |
|
| Accelerated caching |
|
| High-performance compute |
|
| No limits |
|
| Flexible cache isolation |
|
| Cache scoped by repository |
|
| Per second usage tracking |
|
| Self-hostable |
|
| Custom runner images |
|
| Egress filtering |
|
| Docker image builds integration |
|
| Analytics and metrics |
|
How Depot GitHub Actions runners work
Depot GitHub Actions runners use a webhook-driven architecture that launches ephemeral, single-tenant EC2 instances in response to your GitHub workflow jobs. When you run a GitHub Actions job with a Depot label (like runs-on: depot-ubuntu-latest), the job runs on a Depot runner.
When you start a workflow run in GitHub, the platform sends workflow_job webhook events to Depot's control plane. For each new job, Depot:
- Receives the webhook event from GitHub indicating a new job needs to run.
- Assigns a fresh EC2 instance from a pre-provisioned standby pool matching your requested runner type (for example,
depot-ubuntu-24.04). - Registers the runner in your GitHub organization's default runner group.
- Runs the entire job using GitHub's standard runner image on the instance.
- Terminates the instance when the job completes.
Integration with Docker image builds
Depot GitHub Actions runners and Depot's remote container builds run in the same private network. If you use Depot for Docker image builds (via depot build), your BuildKit builders run right next to your GitHub Actions runners, minimizing network latency and accelerating workflows that build images and load them back into the job for testing.
Cache storage
When you use Depot GitHub Actions runners, we store the cache entries in a distributed storage system optimized for high throughput and low latency. The cache storage is encrypted at rest and in transit. To learn more and to configure the cache retention policy, see the Depot Cache overview.
Pricing
Runners usage is tracked by the second, with no one-minute minimum per run. We calculate total minutes used at the end of the billing period.
| Developer plan | Startup plan | Business plan | |
|---|---|---|---|
| Plan cost | $20/month | $200/month | Custom |
| GitHub Actions minutes | 2,000 included/month + $0.006/minute after | 20,000 included/month + $0.006/minute after | Custom |
| Cache | 25 GB included + $0.20/GB/month after | 250 GB included + $0.20/GB/month after | Custom |
| Runner types | Linux, Windows | Linux, Windows, macOS | Linux, Windows, macOS |
Try out Depot on any plan free for 7 days, no credit card required.
Plans also include Depot CI minutes and container build minutes. See Pricing for more about plan features and costs.
Runner pricing by type and size
Larger runners consume your included GitHub Actions minutes faster (via multipliers) and cost more per minute. For per-minute pricing, see GitHub Actions runner types.
Additional GitHub Actions minutes
Included monthly minutes are not a hard cap. You can pay for additional GitHub Actions minutes on a per-minute basis. For per-minute pricing, see GitHub Actions runner types.