Chris Goller | Depot Blog

We built an Ubuntu mirror and then made it faster

Depot built an S3-backed Ubuntu mirror and tuned apt and dpkg to cut median package installation time from 19 seconds to 3 seconds. Common setup work now takes less time.

Why SOCI belongs in the build

Most of a large container's startup goes to pulling and decompressing files it never reads to boot. SOCI makes the image seekable so the runtime loads only the bytes it needs, and Depot writes that index during the build, so the image can lazy-load the instant it's pushed.

Now available: SOCI v2 support for Depot container builds

Depot container builds can now generate SOCI (Seekable OCI) v2 index metadata at build time, so a compatible runtime can lazy-load your images and start large containers in seconds instead of waiting on a full pull.

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.

How simulations reduce the guesswork in our infrastructure decisions

We had a standby pool algorithm with over a dozen tunable parameters and no good way to test changes without risking real customer latency. So we built a simulator fed with real job data, ran hyperparameter optimization on it, and found a configuration that was faster and cheaper.

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.

Why 98.5% of organizations have slow actions/checkout

We analyzed over 60,000 checkout steps in GitHub Actions runners. 98.5% of organizations could be missing out on massive performance gains.

We analyzed 66,821 GitHub Actions runs: 9 hidden gems you're missing

We analyzed 66,821 GitHub Actions workflow runs to uncover valuable third-party actions that teams are using to speed up CI pipelines and improve developer productivity. The data reveals hidden gems in the Actions marketplace that could transform your workflows.

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.

GitHub Actions Runner architecture: The listener

GitHub Actions Runners power every job you run, whether on GitHub-hosted machines or your own hardware. But the way they work and the APIs they talk to have been changing. In this first part of our deep dive, we unpack the Listener process, how it's evolved from Azure DevOps roots, and what those changes mean for anyone running or accelerating Actions with Depot.

Container security at scale: Building untrusted images safely

Many SaaS platforms need to run customer code securely and fast. Rather than building container infrastructure from scratch, you can use Depot's API to handle the heavy lifting. Here's how to build Go tooling that creates isolated projects, manages builds, and tracks metrics for your customer workloads.

From Go Code to Container Image with Depot API

The Depot API lets you build and push containers straight from your Go code. No Docker CLI. No scripts. Just fast, native builds triggered by a few lines of Go.