This feature thread tracks Stripe's continuous efforts to optimize its Continuous Integration (CI) pipeline and testing infrastructure to handle a massive, rapidly growing codebase. Initial focus was on improving test execution speed and efficiency, leading to the development of sophisticated systems like Selective Test Execution. This system allows Stripe to run only a small percentage of tests on average, significantly reducing CI times and enabling faster development cycles. This post details the technical implementation and impact of Selective Test Execution on a 50M-line Ruby monorepo, demonstrating how it reduces test execution time and improves developer productivity.
All Stripe trails