Keeping Developers Happy with a Fast CI
summary
Shopify runs ~210,000 Ruby tests (adding ~30,000/year), executes ~1,000 builds/day and ~100M test runs/day, and treats CI as production: Buildkite + Google Kubernetes agents scale on demand, timings stream to Kafka and a data warehouse, slow tests get aggressive timeouts or disabled (disabling ~10 tests cuts ~10 minutes), and dynamic mapping uses rotoscope + mini test reporter to build file→test maps so PRs run ~40% of tests on average (≈85,000), which noticeably speeds feedback.
AI-written summary · about
chapters (8)
- 0:00Intro
- 3:11Data Driven Development
- 6:22Test Optimization
- 8:47World Test Suite
- 9:22Test Selection
- 13:41Fixtures
- 15:06Test Prioritization
- 22:21Conclusion
related talks
21mTesting Rails at Scale
34mShitlist-driven development and other tricks for working on large codebases
43mA day in the life of 2,000 developers
32mBuilding Continuous Integration and Feedback
39mScaling R&D to thousands of people without dedicated QA
35mApplying SRE Principles to CI/CD
30mKeith and Mario's Guide to Continuous Deployment with Rails
47mHow to win in software development with tighter feedback loops
