~/kettlebuild/articles
Articles
Everything published so far, newest first. Articles are corrected in place when we get something wrong, with a dated note saying what changed. New ones also appear in the Atom feed.
-
Smaller Docker images, warmer layer caches
Layer order,
.dockerignore, cache mounts and multi-stage builds: small images and fast rebuilds come from the same habits. -
Task graphs: rebuilding only what changed
How monorepo tools decide what to run, why affected detection misses things, and how to keep the graph honest.
-
Where CI time actually goes
Measure the phases first, then cut setup, add caching, parallelise where it pays and split tests by recorded time.
-
Same commit, same bytes: a reproducible builds checklist
Timestamps, file order, locale and build paths: why two builds of one commit differ, and how
SOURCE_DATE_EPOCHhelps. -
Cache keys are a correctness problem
A content-addressed cache is only as correct as its key. The usual ways keys go wrong, and how to tell which one bit you.
Reading order
The articles stand alone, but they build on each other. If you're new to the topic, start with cache keys, because almost everything else is an application of it, then read reproducible builds, which explains why caches stop helping when outputs drift.