Skip to content

build(ci): optimize BuildBuddy RBE caching and inject CI build metadata - #4313

Merged
rickeylev merged 1 commit into
bazel-contrib:mainfrom
rickeylev:improve_buildbuddy_rbe_config
Oct 22, 2026
Merged

rickeylev merged 1 commit into
bazel-contrib:mainfrom
rickeylev:improve_buildbuddy_rbe_config

Conversation

@rickeylev

Copy link
Copy Markdown
Collaborator

Optimize remote execution, remote caching, and diagnostic telemetry for
BuildBuddy invocations across local and CI runs.

Invocation analysis (0a836a44-4d93-4312-b6d1-1e2fffd7a4ff) highlighted
opportunities to enhance CAS throughput with compression and chunking,
prevent build failures from CAS eviction through lost-input rewinding,
and collect rich diagnostic and profiling traces for the BuildBuddy UI.
Additionally, GitHub Actions runs previously lacked build metadata to
correlate invocations with workflows and PRs, and developers needed an
automated, secret-safe method to link workspace credentials.

To address this, enable remote cache compression, experimental chunking,
lost-input rewinding, diagnostic logging (bazel-remote-grpc.log and
bazel-execution-log.binpb.zst), and detailed execution profiling in
_buildbuddy_base. In setup-bazel, inject non-secret CI build metadata
(ROLE, VISIBILITY, commit SHA, PR number, branch name, run ID, actor,
and GHA workflow run links) unconditionally on build. Replace the legacy
shell script with a standalone Python client setup script to configure
Git triangle tracking and symlink user.bazelrc cleanly.

Work towards #4289, #4300, #4304.

Optimize remote execution, remote caching, and diagnostic telemetry for
BuildBuddy invocations across local and CI runs.

Invocation analysis (0a836a44-4d93-4312-b6d1-1e2fffd7a4ff) highlighted
opportunities to enhance CAS throughput with compression and chunking,
prevent build failures from CAS eviction through lost-input rewinding,
and collect rich diagnostic and profiling traces for the BuildBuddy UI.
Additionally, GitHub Actions runs previously lacked build metadata to
correlate invocations with workflows and PRs, and developers needed an
automated, secret-safe method to link workspace credentials.

To address this, enable remote cache compression, experimental chunking,
lost-input rewinding, diagnostic logging (bazel-remote-grpc.log and
bazel-execution-log.binpb.zst), and detailed execution profiling in
_buildbuddy_base. In setup-bazel, inject non-secret CI build metadata
(ROLE, VISIBILITY, commit SHA, PR number, branch name, run ID, actor,
and GHA workflow run links) unconditionally on build. Replace the legacy
shell script with a standalone Python client setup script to configure
Git triangle tracking and symlink user.bazelrc cleanly.

Work towards bazel-contrib#4289, bazel-contrib#4300, bazel-contrib#4304.
@rickeylev
rickeylev requested a review from aignas as a code owner October 22, 2026 16:18
@rickeylev
rickeylev enabled auto-merge October 22, 2026 16:21
@rickeylev
rickeylev merged commit 8ddaa4a into bazel-contrib:main Oct 22, 2026
33 of 45 checks passed
@rickeylev
rickeylev deleted the improve_buildbuddy_rbe_config branch October 22, 2026 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant