Enable RBE for standard-tests.

PiperOrigin-RevId: 323454998
This commit is contained in:
Adin Scannell
2020-07-27 15:36:21 -07:00
committed by gVisor bot
parent 8dbf428a12
commit 4b336f16b8
4 changed files with 90 additions and 2 deletions
+16 -2
View File
@@ -12,6 +12,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# RBE requires a strong hash function, such as SHA256.
startup --host_jvm_args=-Dbazel.DigestFunction=SHA256
# Build with C++17.
build --cxxopt=-std=c++17
@@ -22,11 +25,17 @@ build --stamp --workspace_status_command tools/workspace_status.sh
build:remote --remote_executor=grpcs://remotebuildexecution.googleapis.com
build:remote --project_id=gvisor-rbe
build:remote --remote_instance_name=projects/gvisor-rbe/instances/default_instance
build:remote3 --remote_executor=grpcs://remotebuildexecution.googleapis.com
build:remote3 --project_id=gvisor-rbe
build:remote3 --remote_instance_name=projects/gvisor-rbe/instances/default_instance
# 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.
build:remote --google_default_credentials=true
build:remote --auth_scope="https://www.googleapis.com/auth/cloud-source-tools"
build:remote3 --google_default_credentials=true
build:remote3 --auth_scope="https://www.googleapis.com/auth/cloud-source-tools"
# Add a custom platform and toolchain that builds in a privileged docker
# container, which is required by our syscall tests.
@@ -37,8 +46,13 @@ build:remote --platforms=//tools/bazeldefs:rbe_ubuntu1604
build:remote --crosstool_top=@rbe_default//cc:toolchain
build:remote --jobs=50
build:remote --remote_timeout=3600
# RBE requires a strong hash function, such as SHA256.
startup --host_jvm_args=-Dbazel.DigestFunction=SHA256
build:remote3 --host_platform=//tools/bazeldefs:rbe_ubuntu1604_bazel3
build:remote3 --extra_toolchains=//tools/bazeldefs:cc-toolchain-clang-x86_64-default_bazel3
build:remote3 --extra_execution_platforms=//tools/bazeldefs:rbe_ubuntu1604_bazel3
build:remote3 --platforms=//tools/bazeldefs:rbe_ubuntu1604_bazel3
build:remote3 --crosstool_top=@rbe_default//cc:toolchain
build:remote3 --jobs=50
build:remote3 --remote_timeout=3600
# Set flags for uploading to BES in order to view results in the Bazel Build
# Results UI.
+32
View File
@@ -42,6 +42,28 @@ http_archive(
],
)
http_archive(
name = "io_bazel_rules_go_bazel3", # To replace the above.
patch_args = ["-p1"],
patches = [
"//tools/nogo:io_bazel_rules_go-visibility.patch",
],
sha256 = "87f0fb9747854cb76a0a82430adccb6269f7d394237104a4523b51061c469171",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.23.1/rules_go-v0.23.1.tar.gz",
"https://github.com/bazelbuild/rules_go/releases/download/v0.23.1/rules_go-v0.23.1.tar.gz",
],
)
http_archive(
name = "bazel_gazelle_bazel3", # To replace the above.
sha256 = "bfd86b3cbe855d6c16c6fce60d76bd51f5c8dbc9cfcaef7a2bb5c1aafd0710e8",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.21.0/bazel-gazelle-v0.21.0.tar.gz",
"https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.21.0/bazel-gazelle-v0.21.0.tar.gz",
],
)
load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
go_rules_dependencies()
@@ -123,6 +145,16 @@ http_archive(
],
)
http_archive(
name = "bazel_toolchains_bazel3", # To replace the above.
sha256 = "144290c4166bd67e76a54f96cd504ed86416ca3ca82030282760f0823c10be48",
strip_prefix = "bazel-toolchains-3.1.1",
urls = [
"https://github.com/bazelbuild/bazel-toolchains/releases/download/3.1.1/bazel-toolchains-3.1.1.tar.gz",
"https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/releases/download/3.1.1/bazel-toolchains-3.1.1.tar.gz",
],
)
# Creates a default toolchain config for RBE.
load("@bazel_toolchains//rules:rbe_repo.bzl", "rbe_autoconfig")
+5
View File
@@ -74,6 +74,11 @@ FULL_DOCKER_RUN_OPTIONS += --group-add $(KVM_GROUP)
endif
endif
# Load the appropriate config.
ifneq (,$(BAZEL_CONFIG))
OPTIONS += --config=$(BAZEL_CONFIG)
endif
bazel-image: load-default
@if docker ps --all | grep $(BUILDER_NAME); then docker rm -f $(BUILDER_NAME); fi
docker run --user 0:0 --entrypoint "" --name $(BUILDER_NAME) \
+37
View File
@@ -49,3 +49,40 @@ rbe_toolchain(
toolchain = "@bazel_toolchains//configs/ubuntu16_04_clang/10.0.0/bazel_2.0.0/cc:cc-compiler-k8",
toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
)
# Updated versions of the above, compatible with bazel3.
rbe_platform(
name = "rbe_ubuntu1604_bazel3",
constraint_values = [
"@bazel_tools//platforms:x86_64",
"@bazel_tools//platforms:linux",
"@bazel_tools//tools/cpp:clang",
"@bazel_toolchains_bazel3//constraints:xenial",
"@bazel_toolchains_bazel3//constraints/sanitizers:support_msan",
],
remote_execution_properties = """
properties: {
name: "container-image"
value:"docker://gcr.io/cloud-marketplace/google/rbe-ubuntu16-04@sha256:b516a2d69537cb40a7c6a7d92d0008abb29fba8725243772bdaf2c83f1be2272"
}
properties: {
name: "dockerAddCapabilities"
value: "SYS_ADMIN"
}
properties: {
name: "dockerPrivileged"
value: "true"
}
""",
)
rbe_toolchain(
name = "cc-toolchain-clang-x86_64-default_bazel3",
exec_compatible_with = [],
tags = [
"manual",
],
target_compatible_with = [],
toolchain = "@bazel_toolchains_bazel3//configs/ubuntu16_04_clang/11.0.0/bazel_3.1.0/cc:cc-compiler-k8",
toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
)