The Story of rules_erlang
summary
RabbitMQ consolidates ~30 repos into a monorepo and cuts CI from 2–3 hours to about 17 minutes by creating rules_erlang (initial commit 2020‑11‑20, merged into server in PR #2398 with 221 commits on 2021‑03‑29). The build removes ~5,000 lines of YAML to 54, uses BuildBuddy RBE remote execution and cache, later adds in‑Bazel Erlang builds, Gazelle extension and coverage, but retains legacy Erlang MK builds and has partial Windows and packaging gaps.
AI-written summary · about
chapters (18)
- 0:00RabbitMQ and rules_erlang intro
- 1:26RabbitMQ build problem 2020
- 4:5830 repos at RabbitMQ
- 6:23Solutions before Bazel
- 9:12Speeding up builds
- 9:57Bazel Erlang 20-min builds
- 11:02Life after Bazel
- 12:05Bazel setup gaps
- 12:47rules_erlang releases timeline
- 15:40Bazel adoption results
- 17:07Two build systems struggle
- 19:13rules_erlang limits
- 20:39rules_erlang future plans
- 21:44Bazel usefulness
- 22:28Q&A: Coverage support
- 25:08Q&A: 17-min builds
- 26:53Q&A: Bazel vs Rebar
- 28:41Closing remarks
