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]
