| # Shared base config for BuildBuddy RBE and BES. | |
| # Prefixed with `_` because it should not be used directly; use | |
| # `--config=buildbuddy_presubmit` or `--config=buildbuddy_postsubmit` instead. | |
| # API keys (`--remote_header=x-buildbuddy-api-key=...`) must be configured in | |
| # `user.bazelrc` or passed by CI. | |
| build:_buildbuddy_base --bes_results_url=https://rules-python.buildbuddy.io/invocation/ | |
| build:_buildbuddy_base --bes_backend=grpcs://rules-python.buildbuddy.io | |
| build:_buildbuddy_base --build_metadata=REPO_URL=https://github.com/bazel-contrib/rules_python | |
| common:_buildbuddy_base --remote_cache=grpcs://rules-python.buildbuddy.io | |
| common:_buildbuddy_base --remote_timeout=10m | |
| common:_buildbuddy_base --remote_executor=grpcs://rules-python.buildbuddy.io | |
| # Use BuildBuddy's Ubuntu 24.04 RBE container and hermetic GCC 13 toolchain | |
| # instead of its default Ubuntu 16.04 executor image (GCC 5.4.0). | |
| build:_buildbuddy_base --extra_execution_platforms=@toolchains_buildbuddy//platforms:linux_x86_64 | |
| build:_buildbuddy_base --extra_toolchains=@toolchains_buildbuddy//toolchains/cc:ubuntu_gcc_x86_64 | |
| # Compress remote cache transfers with zstd to improve network throughput. | |
| common:_buildbuddy_base --remote_cache_compression | |
| # Chunk large blobs using FastCDC (SplitBlob/SpliceBlob) for efficient | |
| # deduplicated transfer. | |
| common:_buildbuddy_base --experimental_remote_cache_chunking | |
| # Automatically rewind and regenerate lost inputs when evicted from remote cache. | |
| common:_buildbuddy_base --rewind_lost_inputs | |
| # Diagnostic logs for troubleshooting cache misses and gRPC errors | |
| common:_buildbuddy_base --remote_grpc_log=bazel-remote-grpc.log | |
| common:_buildbuddy_base --execution_log_compact_file=bazel-execution-log.binpb.zst | |
| # Detailed timing profiles for the BuildBuddy Timing tab | |
| common:_buildbuddy_base --noslim_profile | |
| common:_buildbuddy_base --experimental_profile_include_target_label | |
| common:_buildbuddy_base --experimental_profile_include_primary_output | |
| # Re-apply `--enable_platform_specific_config` after setting `--remote_executor` | |
| # and `--extra_execution_platforms` so `macos` and `windows` in `.bazelrc` | |
| # inherit the priority of `--config=buildbuddy_*` (e.g. when set in | |
| # `~/.bazelrc` by `setup-bazel`, which has higher priority than `.bazelrc`'s | |
| # top-level `--enable_platform_specific_config`). | |
| common:_buildbuddy_base --enable_platform_specific_config | |
| # For PR presubmit runs. | |
| # Requires a BuildBuddy CAS-only API key. | |
| common:buildbuddy_presubmit --config=_buildbuddy_base | |
| # Isolate presubmit cache so untrusted PRs cannot poison the postsubmit cache. | |
| common:buildbuddy_presubmit --remote_instance_name=presubmit | |
| # A CAS-only key doesn't allow uploading locally generated results. | |
| common:buildbuddy_presubmit --remote_upload_local_results=false | |
| # For postsubmit CI runs on committed code. | |
| # Requires a BuildBuddy read+write API key. | |
| common:buildbuddy_postsubmit --config=_buildbuddy_base | |
| common:buildbuddy_postsubmit --remote_upload_local_results=true |