The Airbnb Tech Blog - Medium logoThe Airbnb Tech Blog - Medium
|DevOps

Migrating Airbnb’s JVM Monorepo to Bazel

2025-08-13
13 min read
1
by Thomas Bao

Endigest AI Core Summary

Airbnb completed a 4.5-year migration of their JVM monorepo (tens of millions of lines of Java, Kotlin, and Scala) from Gradle to Bazel.

  • Build CSAT improved from 38% to 68%, with 3–5x faster local builds, 2–3x faster IntelliJ syncs, and 2–3x faster dev environment deploys
  • Bazel's remote build execution (RBE) scaled to thousands of parallel actions, replacing inefficient machine-sharding heuristics used with Gradle
  • Sandboxing and hermetic builds eliminated reliability issues like race conditions caused by Gradle tasks accessing the shared file system
  • An automated build file generator (inspired by Gazelle) was built to maintain co-existing Gradle and Bazel build graphs without burdening developers
  • The migration resulted in >10x more fine-grained Bazel targets than Gradle projects, enabling more parallelism and less cache invalidation
Tags:
#monorepo
#migration
#engineering
#infrastructure
#bazel