69394fe092b90d72e1a71451031bcba6c7debe75
[platform/upstream/grpc.git] / tools / remote_build / rbe_common.bazelrc
1 #@IgnoreInspection BashAddShebang
2 # Copyright 2018 The gRPC Authors
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 # bazelrc with Foundry setting common to both manual run and runs started by Kokoro
17 # see https://github.com/bazelbuild/bazel-toolchains/tree/master/bazelrc
18 # for examples and more documentation
19
20 startup --host_jvm_args=-Dbazel.DigestFunction=SHA256
21
22 build --crosstool_top=@rbe_default//cc:toolchain
23 build --extra_toolchains=@rbe_default//config:cc-toolchain
24 # Use custom execution platforms defined in third_party/toolchains
25 build --extra_execution_platforms=//third_party/toolchains:rbe_ubuntu1604,//third_party/toolchains:rbe_ubuntu1604_large
26 build --host_platform=//third_party/toolchains:rbe_ubuntu1604
27 build --platforms=//third_party/toolchains:rbe_ubuntu1604
28
29 build --spawn_strategy=remote
30 build --strategy=Javac=remote
31 build --strategy=Closure=remote
32 build --genrule_strategy=remote
33 build --remote_timeout=3600
34
35 build --remote_instance_name=projects/grpc-testing/instances/default_instance
36
37 build --verbose_failures=true
38
39 build --experimental_strict_action_env=true
40 build --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
41
42 # don't use port server
43 build --define GRPC_PORT_ISOLATED_RUNTIME=1
44 # without verbose gRPC logs the test outputs are not very useful
45 test --test_env=GRPC_VERBOSITY=debug
46
47 # Default test timeouts for all RBE tests (sanitizers override these values)
48 # TODO(jtattermusch): revisit the non-standard test timeout values
49 build --test_timeout=300,450,1200,3600
50
51 # address sanitizer: most settings are already in %workspace%/.bazelrc
52 # we only need a few additional ones that are Foundry specific
53 build:asan --copt=-gmlt
54 # TODO(jtattermusch): use more reasonable test timeout
55 build:asan --test_timeout=3600
56 build:asan --test_tag_filters=-qps_json_driver
57
58 # memory sanitizer: most settings are already in %workspace%/.bazelrc
59 # we only need a few additional ones that are Foundry specific
60 build:msan --copt=-gmlt
61 # TODO(jtattermusch): use more reasonable test timeout
62 build:msan --test_timeout=3600
63 # TODO(jtattermusch): revisit the disabled tests
64 build:msan --test_tag_filters=-nomsan,-json_run_localhost
65 build:msan --cxxopt=--stdlib=libc++
66 # setting LD_LIBRARY_PATH is necessary
67 # to avoid "libc++.so.1: cannot open shared object file"
68 build:msan --action_env=LD_LIBRARY_PATH=/usr/local/lib
69 build:msan --host_crosstool_top=@rbe_default//cc:toolchain
70 # override the config-agnostic crosstool_top
71 build:msan --crosstool_top=@rbe_msan//cc:toolchain
72
73 # thread sanitizer: most settings are already in %workspace%/.bazelrc
74 # we only need a few additional ones that are Foundry specific
75 build:tsan --copt=-gmlt
76 # TODO(jtattermusch): use more reasonable test timeout
77 build:tsan --test_timeout=3600
78 build:tsan --test_tag_filters=-qps_json_driver
79 build:tsan --extra_execution_platforms=//third_party/toolchains:rbe_ubuntu1604,//third_party/toolchains:rbe_ubuntu1604_large
80
81 # undefined behavior sanitizer: most settings are already in %workspace%/.bazelrc
82 # we only need a few additional ones that are Foundry specific
83 build:ubsan --copt=-gmlt
84 # TODO(jtattermusch): use more reasonable test timeout
85 build:ubsan --test_timeout=3600
86 # override the config-agnostic crosstool_top
87 build:ubsan --crosstool_top=@bazel_toolchains//configs/experimental/ubuntu16_04_clang/1.2/bazel_0.21.0/ubsan:toolchain