Release bazel_ci_rules 2.0.0 (#2645)
# Release Notes: `bazel_ci_rules` v2.0.0 🚀
`bazel_ci_rules` v2.0.0 is a major release introducing **fully dynamic,
on-the-fly Remote Build Execution (RBE) toolchain generation**,
eliminating the need for pre-generated configs stored in GCS.
## 🌟 Key Highlights
* **Dynamic RBE Toolchain Bootstrapper**: Compiles `rbe_configs_gen`
on-the-fly and generates toolchain configs dynamically inside
Docker-out-of-Docker (DooD). Maintenance-free and compatible with any
Bazel version.
* **First-Class Bzlmod Support**: Fully compatible with Bazel's new
package management system via the `rbe_config_extension` module
extension.
* **Decoupled Presets (`rbe_presets.json`)**: Toolchain presets are
fetched dynamically from `master` at runtime, enabling configuration
updates without ruleset pin bumps.
* **Intelligent Bazel Version Detection**: Automatically detects the
running Bazel version (`native.bazel_version`) and respects the
`BAZEL_REAL` environment variable.
---
## 🛠Quick Start & Usage
### Bzlmod (Bazel 8+)
```bazel
bazel_dep(name = "bazel_ci_rules", version = "2.0.0")
rbe = use_extension("@bazel_ci_rules//:rbe_config.bzl", "rbe_config_extension")
rbe.config(name = "rbe_ubuntu", preset = "ubuntu")
use_repo(rbe, "rbe_ubuntu")
```
### Legacy WORKSPACE
```python
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "bazel_ci_rules",
strip_prefix = "continuous-integration-rules-2.0.0",
url = "https://github.com/bazelbuild/continuous-integration/releases/download/rules-2.0.0/bazel_ci_rules-2.0.0.tar.gz",
)
load("@bazel_ci_rules//:rbe_config.bzl", "rbe_config")
rbe_config(name = "rbe_ubuntu", preset = "ubuntu")
```
---
Thank you to everyone who contributed to this release, especially
@coeuvre, @milundy, and @mmorel35!