[automotive.score] hosting a bazel-remote cache
Summary
We would like to explore hosting a bazel-remote cache instance to significantly reduce Bazel build and test times across GitHub Actions workflows and developer machines.
bazel-remote can be configured as a lightweight HTTP/GRPC server with disk- or cloud-backed storage, using a simple YAML config file specifying cache directory, max size and access options.
It would be interesting to find out which hosting options we have at Eclipse.
Steps to reproduce
-
Use Bazel with local disk/repo cache only (as currently implemented in CI workflows).
-
Run repeated builds for targets (e.g., bazel test //...) in GitHub Actions.
-
Observe that even when local disk cache hits, the analysis and external fetch stages still take 2–3 minutes or more.
What is the current bug behavior?
Currently, we rely only on ephemeral local cache in CI. This:
- Does not persist across runners or job executions.
- Adds overhead to analysis/loading even when outputs don’t change.
- Leads to slow workflow execution (~3 min/test job vs. <10s locally).
What is the expected correct behavior?
CI runners and devs should be able to leverage a shared, persistent Bazel remote cache (bazel-remote or similar) to:
-
Avoid redundant downloads of external dependencies.
-
Reuse analysis/build/test outputs across executions and PRs.
-
Reduce CI cost and execution time.
Relevant logs and/or screenshots
Analyzing: 3 targets (151 packages loaded, 1788 targets configured)
INFO: Analyzed 3 targets (152 packages loaded, 3692 targets configured)
...
INFO: Build completed, 1 test FAILED, 19 total actions
Total runtime: ~3m Expected with cache: <20s
Priority
- Urgent
- High
- Medium
- Low
Severity
- Blocker
- Major
- Normal
- Low
Impact
This has a significant impact on:
- CI latency and developer feedback loop time.
- Resource consumption and GitHub Actions costs ( though are repos are public)