Skip to main content
Engineering

How We Halved Go Monorepo CI Build Time

June 23, 2022 / Global
Featured image for How We Halved Go Monorepo CI Build Time
Image
Figure 1: Example Changed Targets Calculation for a change to “c.go” file.
Image
Figure 2: SubmitQueue hourly volume per hour over a 30-day span.
Image
Figure 3: Landing Validation time percentage breakdown P95 and P99
Image
Figure 4: Parallelized build on Jenkins.
Image
Figure 5: Improvements from enabling sharding.
Image
Figure 6: Example invalidated target graph.
Tyler French

Tyler French

Tyler French is a Software Engineer II on Uber's Developer Platform team and is based in New York City. Tyler leads the dependency management initiative within the Go developer experience. His interests lie in leveraging data and analyzing patterns to strategically improve the engineering experience.

Mindaugas Rukas

Mindaugas Rukas

Mindaugas Rukas is a Sr. Software Engineer on Uber's Developer Platform team. Mindaugas leads the infrastructure part of the Go Monorepo project, making it more reliable, scalable, and performant.

Xiaoyang Tan

Xiaoyang Tan

Xiaoyang Tan is a Sr. Software Engineer on Uber's Developer Platform team. He leads the CI architecture in the Go Monorepo and other developer infrastructure to make builds performant and reliable, and make Monorepo easier to use for everyone.

Posted by Tyler French, Mindaugas Rukas, Xiaoyang Tan

Category: