blob: 920e97cd05611c225077c72d58d961d233cd1bba [file]
# Copyright 2016 The Bazel Authors. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Remote execution and optional BuildBuddy reporting/cache profiles.
# Depending on how many machines are in the remote execution instance, setting
# this higher can make builds faster by allowing more jobs to run in parallel.
# Setting it too high can result in jobs that timeout, however, while waiting
# for a remote machine to execute them.
common:remote_shared --jobs=200
common:remote_shared --disk_cache=
common:remote_shared --remote_download_minimal
# Select after the remote profile when requested outputs are needed locally.
common:remote_toplevel --remote_download_outputs=toplevel
# Set several flags related to specifying the platform, toolchain and java
# properties.
common:remote_shared --extra_execution_platforms=//tools/remote:platform
common:remote_shared --host_platform=//tools/remote:platform
common:remote_shared --platforms=//tools/remote:platform
# Set various strategies so that all actions execute remotely. Mixing remote
# and local execution will lead to errors unless the toolchain and remote
# machine exactly match the host machine.
common:remote_shared --define=EXECUTOR=remote
# Set a higher timeout value, just in case.
common:remote_shared --remote_timeout=3600
# Configuration flags for remote settings in Google GCP RBE
# Enable the remote cache so action results can be shared across machines,
# developers, and workspaces.
common:config_gcp --remote_cache=remotebuildexecution.googleapis.com
# Enable remote execution so actions are performed on the remote systems.
common:config_gcp --remote_executor=remotebuildexecution.googleapis.com
# Enable authentication. This will pick up application default credentials by
# default. You can use --auth_credentials=some_file.json to use a service
# account credential instead.
common:config_gcp --google_default_credentials
common:config_gcp --config=remote_shared
# Also available without BuildBuddy via --config=diagnostics.
# Override both paths for concurrent invocations.
common:diagnostics --execution_log_compact_file=bazel-execution.log
common:diagnostics --profile=bazel-profile.json.gz
# Preserve action details for investigations, at the cost of larger profiles.
common:diagnostics --experimental_profile_include_target_label
common:diagnostics --experimental_profile_include_primary_output
common:diagnostics --noslim_profile
# Reporting only: retain local execution, platforms, PATH and disk cache.
build:reporting_bb --bes_results_url=https://app.buildbuddy.io/invocation/
build:reporting_bb --bes_backend=grpcs://remote.buildbuddy.io
# Capture execution and timing details for BuildBuddy invocations.
build:reporting_bb --config=diagnostics
# These commands inherit build options but should not publish invocations.
run:reporting_bb --bes_backend=
run:reporting_bb --bes_results_url=
aquery:reporting_bb --bes_backend=
aquery:reporting_bb --bes_results_url=
cquery:reporting_bb --bes_backend=
cquery:reporting_bb --bes_results_url=
# Plain query does not inherit the build-scoped BES options above.
# Cache plus reporting: cache misses still execute locally.
common:cache_bb --config=reporting_bb
common:cache_bb --remote_cache=grpcs://remote.buildbuddy.io
common:cache_bb --remote_upload_local_results
# BuildBuddy advertises zstd support for cache uploads and downloads.
common:cache_bb --remote_cache_compression
# Deduplicate large cache blobs with content-defined upload/download chunks.
common:cache_bb --experimental_remote_cache_chunking
# Preserve config_bb and the remote*_bb public aliases.
common:config_bb --config=remote_shared
common:config_bb --config=cache_bb
common:config_bb --remote_executor=grpcs://remote.buildbuddy.io