
Migrating Airbnb’s JVM Monorepo to Bazel
By: Jack Dai, Howard Ho, Loc Dinh, Stepan Goncharov, Ted Tenedorio, and Thomas Bao At Airbnb, we recently completed migrating our largest repo, the JVM monorepo, to Bazel. This repo contains tens of millions of lines of Java, Kotlin, and Scala code that power the vast array of backend services and data pipelines behind airbnb.com. Migration in numbers (4.5 years of work): Build CSAT: 38% → 68% 3–5x faster local build and test times 2–3x faster IntelliJ syncs 2–3x faster deploys to the development environment In this blog post, we’ll discuss the why , share some highlights on the how , and finish off with key learnings . Why Bazel? Before the migration, our JVM monorepo used Gradle as its build system. We decided to migrate to Bazel because it offered three key advantages: speed, reliability, and a uniform build infrastructure layer. Speed Bazel’s cacheable, portable actions allow us to scale performance with remote execution In 2021, builds of large services often took >20 minutes loca
Continue reading on Airbnb Engineering
Opens in a new tab



