Speed up your test suite by throwing computers at it
summary
CI runtime falls from tens of minutes to minutes by running tests across many machines and shaving startup costs. Practical moves: parallelize by splitting file lists or using CircleCI CLI or knapsack, cache and clean Bundler and git, delete bundle caches to shrink layers, and build CI-specific Docker images so containers boot instantly. Numbers reported: suites at 20–40 minutes, caches restoring ~2 minutes, saving ~100 MB per image layer and about a minute by choosing more common image tags; automated reruns isolate flakies and tickets track fixes.
AI-written summary · about
chapters (23)
- 0:00Start
- 5:26How Do We Parallelize Our Tests
- 5:54Separate Your Test Suite
- 7:29Control Dependencies between Jobs
- 9:18Automatically Splitting the Files
- 12:02Build Matrix
- 15:29Typical Ci Config
- 17:59Installing Your Gems
- 18:45Bundle
- 20:08Automatically Clean Out Data Versions
- 22:09Container Initialization Time
- 22:34Introduction to How Docker Works Docker Containers
- 24:12Layers
- 35:35Bundler
- 37:20Bundle Install
- 41:32Dive Tool
- 42:32Observability
- 44:44Flaky Tests
- 45:40Fix Your Flakies
- 47:58Uneven Distributions
- 50:05Knapsack
- 54:03Critical Paths
- 56:48Recap
related talks
24mSupercharging CI: Test Suite Optimization for Speed, Stability, and Savings
33mFrom Hours to Minutes: Run Thousands of CI Tests in Just Minute
27mOptimizing CI/CD Pipelines for Faster Time to Market
41mContinuous Integration Tips & Tricks
51mAre Your Test Slowing You Down?
32mPractical Tips & Tricks for CI/CD Success
26mKeeping Your Tests Lean
37mSo You're Automated...Now Let's Make It Fast!
