Designing the Pipeline
Ordering, staging and failing fast. The design decisions that determine how quickly a developer learns something useful.
Procedure
Time to a useful signal rather than total duration. Plus the split almost nobody reports: queue time and execution time have different causes and different fixes.
6 notes
Ordering, staging and failing fast. The design decisions that determine how quickly a developer learns something useful.
Procedure
Waiting for a runner is not the same problem as a slow build, and adding capacity is not always the fix. Reading the queue properly.
Analysis
Ephemeral runners start cold every time. What to cache, how to key it, and the mistakes that make a cache slower than no cache.
Procedure
Testing a change against the branch it was written on does not prove it works against the branch it will merge into. What a merge queue fixes and what it costs.
Explainer
Most CI systems report pass or fail and a duration. Getting the data that lets you find where the time and the failures actually come from.
Procedure
Most time lost to a failing build is spent working out what kind of failure it is. Making that determination fast is a design problem.
Procedure