Skip to content

build(release): cross-build all Linux release artifacts in one RBE job - #4304

Merged
rickeylev merged 2 commits into
mainfrom
optimize_rbe_linux_crossbuilding
Oct 22, 2026
Merged

rickeylev merged 2 commits into
mainfrom
optimize_rbe_linux_crossbuilding

Conversation

@rickeylev

Copy link
Copy Markdown
Collaborator

Spinning up a separate GitHub Actions runner for each of the six Linux
platforms is unnecessary now that Linux release builds run on BuildBuddy
RBE.

Replace the six Linux matrix entries with a single linux job that
builds //dev/release_artifacts:cross_compiled_artifacts, and include
x86_64-unknown-linux-gnu in that target along with a manifest file so
one runner builds and verifies all Linux binaries in a single Bazel
invocation.

Work towards #4216

Spinning up a separate GitHub Actions runner for each of the six Linux
platforms is unnecessary now that Linux release builds run on BuildBuddy
RBE.

Replace the six Linux matrix entries with a single `linux` job that
builds `//dev/release_artifacts:cross_compiled_artifacts`, and include
`x86_64-unknown-linux-gnu` in that target along with a manifest file so
one runner builds and verifies all Linux binaries in a single Bazel
invocation.

Work towards #4216
@rickeylev
rickeylev requested a review from aignas as a code owner October 22, 2026 06:20
Cross-compiled Linux outputs live in separate bazel-out/<cfg> directories, causing actions/upload-artifact to preserve those subdirectories when uploading raw manifest paths. Copy the manifest files into release-artifacts/ so they are uploaded flat.
@rickeylev
rickeylev enabled auto-merge October 22, 2026 06:49
@rickeylev
rickeylev merged commit f0d3324 into main Oct 22, 2026
18 checks passed
@rickeylev
rickeylev deleted the optimize_rbe_linux_crossbuilding branch October 22, 2026 07:02
rickeylev added a commit that referenced this pull request Oct 22, 2026
…ta (#4313)

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.
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