Pinterest’s journey to a Bazel monorepo
summary
Pinterest reports migrating Go and C++ monorepos to Bazel, with Java ~90% migrated and Python planned; totals include 1,365 active repos, Java seeing ~80 daily commits from 250 monthly contributors and Python 250 daily commits from 500 monthly. They build a phased coexistence with Maven, a generator called Bazelize, custom release rules that publish Docker to ECR, Debian to Artifactory and jars to S3, and a shaded jar workaround; remaining work focuses on dependency exceptions, automated upgrades and a multi-workspace strategy.
AI-written summary · about
chapters (9)
- 0:00Introduction and motivation
- 0:57Rationale for switching
- 2:54Current migration status
- 4:38Transitioning Java projects
- 6:44Simplifying the developer path
- 9:18Managing third-party deps
- 11:21Artifact storage challenges
- 13:04Future goals and outlook
- 14:10Conclusion
related talks
26mEfficient Android Builds at Scale: Lessons from Pinterest
12mEngineering Productivity, Infrastructure
40mMonorepo or Polyrepo: What's the Right Choice for You?
01h 31mBazel
40mSix learnings in moving to a Bazel-based CI system + Q&A
23mBazelCon Keynote
07mLightning Talk – Python Dependencies the Right Way
36mProject Updates + Q&A
