lizhimins opened a new pull request, #1261:
URL: https://github.com/apache/rocketmq-clients/pull/1261

   ## Summary
   
   - Upgrade Bazel from EOL 5.2.0 to **6.6.0** (latest maintained Bazel 6 LTS, 
released 2026-01-21)
   - Add **Bazel build+test CI** for 3 platforms (ubuntu-22.04, macos-latest, 
windows-2022) alongside existing CMake CI
   - Migrate **CPP Coverage** from broken Bazel-based coverage to **CMake + 
lcov**
   - Clean up WORKSPACE and .bazelrc (remove unused RBE config and hedron 
compile commands)
   
   ## Motivation
   
   - Bazel 5.2.0 is EOL (end-of-life since 2024)
   - CPP Coverage CI was failing on newer Ubuntu runners because Abseil 
20211102.0 is incompatible with GCC 14
   - RBE (buildbuddy) config in WORKSPACE/bazelrc referenced external services 
not used by CI
   
   ## Why 6.6.0 instead of 8.x?
   
   Bazel 8's native rule autoloading (`--incompatible_autoload_externally`) 
requires modern protobuf (25+) via Bzlmod, but gRPC 1.46.3 only works with 
protobuf 3.20.1. This creates an unsolvable circular dependency:
   
   ```
   MODULE.bazel protobuf 29.3 → rules_java 8.x → 
com_google_protobuf//bazel/common:proto_info.bzl → ❌ (not in protobuf 3.20.1)
   ```
   
   Bazel 7 also has breaking changes (`nocopts` removed, 
`apple_common.multi_arch_split` removed, `@bazel_tools//platforms` removed) 
that affect gRPC 1.46.3's dependency chain. Upgrading to Bazel 8 requires a 
separate PR to upgrade gRPC, protobuf, abseil, and rules_proto_grpc to modern 
versions.
   
   ## Changes
   
   | File | Change |
   |------|--------|
   | `cpp/.bazelversion` | 5.2.0 → 6.6.0 |
   | `cpp/.bazelrc` | Remove `--host_force_python=PY3`, remove RBE config (19 
lines), add `--noincompatible_use_platforms_repo_for_constraints` for gRPC upb 
compat |
   | `cpp/WORKSPACE` | Remove buildbuddy RBE toolchain + hedron compile 
commands (~37 lines) |
   | `.github/workflows/cpp_build.yml` | Rename job to `cmake-build`, add 
`bazel-build` job (3 platforms) |
   | `.github/workflows/cpp_coverage.yml` | Rewrite from Bazel to CMake + lcov |
   
   ## Test plan
   
   - [x] Local `bazel build //...` passes
   - [x] Local `bazel test //...` — 25/25 tests pass
   - [ ] CI: CMake build (3 platforms)
   - [ ] CI: Bazel build (3 platforms)
   - [ ] CI: CMake coverage + Codecov upload
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to