grpc/tools/remote_build
Eytan Kidron c97ce9057b Simplify the platform and constraints settings for remote execution
* Remove the toolchains //third_party/toolchains:local and //third_party/toolchains:local_large.
* Remove the platforms :rbe_ubuntu1604, :rbe_ubuntu1604_large, :local and :local_large.
* No longer inherit from @rbe_default//config:platform but instead use it directly. It is now the only non-windows platform.
* When creating @rbe_default//config:platform directly with rbe_autoconfig, set dockerAddCapabilities and dockerPrivileged directly in the exec_properties field. No need to set dockerNetwork to "off" and dockerSiblingContainers to false since these are the defaults.
* Also set gceMachineType = "n1-highmem-2" on the default platform. This value can be overridden by specific targets that want to use LARGE_MACHINE.
* Use create_exec_properties_dict where appropriate.
* Use custom_exec_properties to define LARGE_MACHINE.

I wasn't able to test thoroughly that this PR does not break any existing targets. I was not able to run anything on windows/mac and I also don't have access to gRPC's RBE setup.
2019-10-29 15:40:28 -04:00
..
README.md update windows RBE instructions 2019-09-30 13:28:00 +02:00
kokoro.bazelrc Revert "Revert "Merge pull request #20097 from gnossen/dual_version_python_tests"" 2019-08-29 10:51:36 -07:00
manual.bazelrc simplify and unify manual builds 2019-09-16 16:31:21 +02:00
rbe_common.bazelrc Simplify the platform and constraints settings for remote execution 2019-10-29 15:40:28 -04:00
windows.bazelrc set high --remote_timeout 2019-10-24 09:40:10 +02:00
workspace_status_kokoro.bat add extra kokoro build info to Win RBE runs 2019-10-04 11:38:30 +02:00
workspace_status_kokoro.sh inject extra details to Bazel RBE links 2018-12-21 11:09:51 +01:00

README.md

Running Remote Builds with bazel

This allows you to spawn gRPC C/C++ remote build and tests from your workstation with configuration that's very similar to what's used by our CI Kokoro.

Note that this will only work for gRPC team members (it requires access to the remote build and execution cluster), others will need to rely on local test runs and tests run by Kokoro CI.

Prerequisites

  • See Installing Bazel for instructions how to install bazel on your system.

  • Setup application default credentials for running remote builds by following the "Set credentials" section. (Note: for the ResultStore UI upload to work, you'll need a special kind of application default credentials, so if the build event upload doesn't work, doublecheck the instructions)

Running remote build manually from dev workstation

Run from repository root (opt, dbg):

# manual run of bazel tests remotely on Foundry
bazel --bazelrc=tools/remote_build/manual.bazelrc test --config=opt //test/...

Sanitizer runs (asan, msan, tsan, ubsan):

# manual run of bazel tests remotely on Foundry with given sanitizer
bazel --bazelrc=tools/remote_build/manual.bazelrc test --config=asan //test/...

Run on Windows MSVC:

# manual run of bazel tests remotely on RBE Windows (must be run from Windows machine)
bazel --bazelrc=tools/remote_build/windows.bazelrc test //test/...

Available command line options can be found in Bazel command line reference