Platforms and Toolchains in Bazel
summary
Bazel now models three platforms (host, execution, target) as constraint sets and implements a deterministic toolchain resolution that matches toolchain type plus execution/target constraints. Skylark toolchains are functional today — rules_go and rules_rust already use them — and toolchain registration works via flags (extra_toolchains) or workspace register_toolchains. Native rule migration (C++, Java) is ongoing; the system supports selects on constraint values and is being extended to describe remote-execution worker platforms.
AI-written summary · about
chapters (7)
- 0:00Introduction to platforms
- 1:17Defining platforms
- 2:31Platform constraints
- 5:50Concept of toolchains
- 9:22Toolchain resolution
- 12:40Current status and future
- 15:53Remote execution
related talks
18mIncompatible target skipping
15mReproducible research using Bazel
18mDesigning a language Agnostic CI using Bazel queries
10mBazelCon vision and wrap-up
10mAspect Build
21mDebugging and fixing build non-determinism with Bazel
16mKeynote - State of Bazel and Announcements
25mEnsuring OSS License Compliance the Easy Way
