What we learned building a large Bazel repository
Over the years of building Uber’s Go monorepo with Bazel, we accumulated many different wrappers and configurations, such as:
- Replacing new_git_repository with http_archive, blob storage and proxy server
- Handling different patterns of OOM errors
- Making “/tmp” sandbox_fs
- Using URLs as canonical id for repository rules
We'd like to share the lessons behind these wrappers and configurations, because they can be useful for other large repositories too. At the same time, we run into pain points that we don’t have good solutions yet, calling for community contributions.
Speaker: Zhongpeng Lin