Skip to content

bes: add BES and BEP protocol crates#995

Open
sluongng wants to merge 3 commits into
facebook:mainfrom
sluongng:sluongng/bes-proto
Open

bes: add BES and BEP protocol crates#995
sluongng wants to merge 3 commits into
facebook:mainfrom
sluongng:sluongng/bes-proto

Conversation

@sluongng

@sluongng sluongng commented Jun 13, 2025

Copy link
Copy Markdown
Contributor

The OSS build has no generated bindings for Bazel's Build Event Protocol
or the Build Event Service, which blocks interoperable build-event
publishing.

Add separate BEP and BES crates, and move shared Google API, Bytestream,
long-running operation, and status definitions out of re_grpc_proto
because both remote execution and BES need identical Rust types. The
three commits keep the shared types, BEP schema, and BES service schema
independently reviewable.

The vendored snapshots preserve their upstream Apache license headers.
Provider-specific extensions present in the fork snapshots are omitted,
and generated code is linted using the repository's existing generator
conventions.

This PR adds protocol bindings only. It does not add a BES client, a
Buck-to-BEP converter, invocation UI, or default-on publishing behavior.

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jun 13, 2025
@facebook-github-bot

Copy link
Copy Markdown
Contributor

@facebook-github-bot has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. (Because this pull request was imported automatically, there will not be any future comments.)

@sluongng

Copy link
Copy Markdown
Contributor Author

Technically, the BES proto is also part of the googleapis repository, but I think it's worth splitting into a separate crate to avoid build cache churn.

cc: @avdv @aherrmann

@alexlian alexlian added enhancement New feature or request UX User Experience labels Jun 13, 2025

@2FaceS-bit 2FaceS-bit left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@2Facesbit

@sluongng
sluongng force-pushed the sluongng/bes-proto branch from 0326148 to 11f9b21 Compare June 13, 2025 16:25
@sluongng
sluongng force-pushed the sluongng/bes-proto branch from 11f9b21 to 06c9dc4 Compare June 26, 2026 07:46
@sluongng sluongng changed the title OSS: add Build Event Service proto to buck2 OSS: add BES and BEP proto crates Jun 26, 2026
The remote-execution proto crate currently owns common Google API,
Bytestream, long-running operation, and status definitions.

Move those definitions into a shared crate because BES needs the same
types and compiling duplicate packages would create incompatible Rust
types. Keep re_grpc_proto re-exporting them so existing users retain
their API.
@sluongng
sluongng force-pushed the sluongng/bes-proto branch from 06c9dc4 to 87416a3 Compare July 22, 2026 13:45
@sluongng sluongng changed the title OSS: add BES and BEP proto crates bes: add BES and BEP protocol crates Jul 22, 2026
sluongng added 2 commits July 22, 2026 16:43
Buck2's OSS build does not provide generated Bazel Build Event Protocol
types, which blocks interoperable event conversion.

Add a dedicated crate for the canonical BEP definitions because later
publishing code needs Bazel-compatible messages without coupling them
to remote execution or transport concerns.
The OSS build cannot construct or publish canonical Build Event
Service messages because it lacks generated service types.

Add a dedicated BES crate wired to shared Google API protos so later
event sinks can use standard lifecycle and streaming RPCs without
modifying remote-execution types.
@sluongng
sluongng force-pushed the sluongng/bes-proto branch from 87416a3 to b0c5c9e Compare July 22, 2026 14:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. enhancement New feature or request UX User Experience

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants