reclient
reclient copied to clipboard
Add Build Event Service (BES) support
The Build Event Protocol (BEP) allows third-party programs to gain insight into a Bazel invocation. It includes information about build and test results, build progress, the build configuration and much more. The Build Event Service (BES) Protocol is a generic gRPC service for publishing BEP events.
Cloud-based RBE systems intended for use with Bazel builds often use BES reporting to track progress and resource utilization associated with a particular build. Lack of BES support can be a blocker for reclient use with these systems.
To clarify, are you asking about BES support for non-Bazel tools?
For example: BES support when using ninja + reclient as part of a Chromium build. All communication with the cloud-based RBE is via reclient, so that seems (to me) the logical place for BES support to exist.
A counter-argument might be if reproxy doesn't have sufficient state information (but reproxystatus suggests that it might).
Ping @ola-rozenfeld who makes mention of adding BEP support at https://blog.engflow.com/2024/02/20/how-to-build-chromium-with-reclient/#build-status-what-is-happening
I started working on this last weekend while troubleshooting BuildBuddy, and had a successful test with reproxy today. It's based on Ola's work though, so I wouldn't want to submit any patches yet
https://garden.tplant.com.au/Cloud/Building-Chromium
I'd love to see this upstreamed, so that I can use reclient with BuildBuddy to observe build events for any build wrapped by reclient <3