| # 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. |
| |
| # This .bazelrc file contains all of the flags required for the provided |
| # toolchain with Remote Build Execution. |
| # Note your WORKSPACE must contain an rbe_autoconfig target with |
| # name="rbe_default" to use these flags as-is. |
| |
| # 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. |
| build:remote --jobs=50 |
| |
| # Set several flags related to specifying the platform, toolchain and java |
| # properties. |
| # These flags should only be used as is for the rbe-ubuntu16-04 container |
| # and need to be adapted to work with other toolchain containers. |
| build:remote --host_javabase=@rbe_default//java:jdk |
| build:remote --javabase=@rbe_default//java:jdk |
| build:remote --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8 |
| build:remote --java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8 |
| build:remote --crosstool_top=@rbe_default//cc:toolchain |
| build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 |
| # Platform flags: |
| # The toolchain container used for execution is defined in the target indicated |
| # by "extra_execution_platforms", "host_platform" and "platforms". |
| # More about platforms: https://docs.bazel.build/versions/master/platforms.html |
| build:remote --extra_toolchains=@rbe_default//config:cc-toolchain |
| build:remote --extra_execution_platforms=@rbe_default//config:platform |
| build:remote --host_platform=@rbe_default//config:platform |
| build:remote --platforms=@rbe_default//config:platform |
| |
| # Starting with Bazel 0.27.0 strategies do not need to be explicitly |
| # defined. See https://github.com/bazelbuild/bazel/issues/7480 |
| build:remote --define=EXECUTOR=remote |
| |
| # Enable remote execution so actions are performed on the remote systems. |
| build:remote --remote_executor=grpcs://remotebuildexecution.googleapis.com |
| |
| # Set a higher timeout value, just in case. |
| build:remote --remote_timeout=3600 |
| |
| # Accept remotely cached action results. |
| build:remote --remote_accept_cached=true |
| |
| # Do not fall back to standalone local execution if remote execution fails. |
| build:remote --remote_local_fallback=false |
| |
| # Set custom flag RBE=1. This is used to select() custom args for tests. |
| build:remote --define=RBE=1 |
| |
| # Enable authentication. This will pick up application default credentials by |
| # default. You can use --google_credentials=some_file.json to use a service |
| # account credential instead. |
| # DISABLE THIS! Kokoro will setup the credentials for us based on the build config. |
| # build:remote --google_default_credentials=true |