Engineering stories, perspectives, and product updates from the team building Depot.

Guides

Accelerating your test suite in CI banner
26.06.18

Accelerating your test suite in CI

Speeding up CI isn't one heroic refactor, it's a hunt for the next bottleneck, and for most teams the first one is the test suite. Here's how to attack it with parallelism, sharding, prebuilt images, and a job-density rule that keeps wider sharding from quietly torching your bill.
How I run distributed Rust fuzzing in GitHub Actions banner
26.04.22

How I run distributed Rust fuzzing in GitHub Actions

With agents writing the initial fuzz harness, the hardest part of getting fuzzing into CI is basically gone. This is the setup I landed on: cargo fuzz, a GitHub Actions matrix job to fan work across multiple runners, and Actions cache to keep the corpus growing between runs.
The end of push-wait-guess CI banner

The end of push-wait-guess CI

The old CI debugging loop goes: edit YAML, commit, push, wait, squint at logs, repeat. Depot CI replaces that with a local loop you can actually control, from running workflows against uncommitted changes to SSHing into the runner mid-job.
Optimize your Dockerfile for 5x faster builds banner

Optimize your Dockerfile for 5x faster builds

Slow Docker builds are annoying and disrupt your flow. This guide shows practical techniques to optimize your Dockerfile, from simple instruction reordering to advanced caching strategies, with real measurements from a production-like Node.js application.
Graceful Shutdown in Go banner
25.12.16

Graceful Shutdown in Go

When graceful shutdown is an afterthought, it's one of the most common sources of production bugs. When servers restart, work gets dropped, state gets lost, and you end up chasing weird behavior at startup. Here's how to use contexts and WaitGroups to implement clean shutdowns that don't lose work or corrupt state.
The ultimate guide to Docker build cache banner

The ultimate guide to Docker build cache

Ever wondered when Docker reuses cached layers and when it rebuilds from scratch? This guide breaks down the mechanics of how caching works, how cache invalidation cascades through your builds, and how different instructions affect the cache.
Troubleshooting GitHub Actions with self-hosted runners banner
25.11.14

Troubleshooting GitHub Actions with self-hosted runners

Not every self-hosted runner failure is actually a runner problem. GitHub Actions and third-party actions often expect environmental features that GitHub-hosted runners provide by default. When your setup differs, you may get cryptic errors that point to the wrong cause. Here are three real support cases where the symptoms looked like runner issues but weren't.
From Go code to container image with Depot API banner
25.08.26

From Go code to container image with Depot API

Build a specialized container building system using Depot's low-level Go SDK to transform tar archives into container images. This advanced walkthrough demonstrates the three-step build flow: registering builds, acquiring ephemeral BuildKit machines, and configuring custom build solutions.

Older posts

Page 2 / 6

Start building with Depot
in minutes