45→9 Minute CI Case
- A team reduced a 45-minute CI pipeline to nine minutes by sharding tests, aggressive dependency caching, monorepo path splits, and runner upgrades. - The optimisation supported about 40 engineers and reportedly tripled deploy frequency. - The example shows that combining test parallelisation, smarter caching, and faster runners can materially increase team throughput (x.com).
Continuous integration is the automated gate that builds code and runs tests before a change merges, and one team cut that wait from 45 minutes to nine. (x.com) Branko Petric said the team got there by splitting one large test run into smaller parallel jobs, caching dependencies aggressively, separating monorepo work by changed paths, and upgrading runners. GitHub says dependency caching avoids re-downloading files on each fresh runner, and path filters let workflows run only when matching files change. (x.com) (docs.github.com 1) (docs.github.com 2) Test sharding is the part that slices one suite into pieces and runs them at the same time on multiple machines. Playwright’s documentation says each shard can run as a separate job in a continuous integration pipeline, using more hardware to finish faster. (playwright.dev) Runner upgrades attack a different bottleneck: the machine doing the work. GitHub says larger runners provide more central processing unit cores, memory, and disk space, while self-hosted runners let teams choose their own hardware and network setup. (docs.github.com 1) (docs.github.com 2) Monorepos put many apps or packages in one repository, which makes a single change likely to trigger too much work if every pipeline builds everything. GitHub’s workflow syntax supports `paths` and `paths-ignore` filters so teams can skip unrelated jobs when only certain directories changed. (docs.github.com) Caching fixes another common drag in these systems because GitHub-hosted runners start clean for each job. GitHub says that means dependencies must otherwise be downloaded again every run, adding network time and cost. (docs.github.com) Petric said the changes supported about 40 engineers and tripled deploy frequency. He framed the result as a case where several ordinary optimizations, applied together, changed how quickly the team could get code through review and into production. (x.com) The mechanics are familiar across tools even when the exact stack differs: run fewer jobs, run the remaining jobs in parallel, reuse downloaded artifacts, and give the heaviest work faster machines. In practice, that turns continuous integration from a long queue into a shorter feedback loop. (playwright.dev) (docs.github.com 1) (docs.github.com 2)