grpc/tools/remote_build
Donna Dionne bf3ea2e3a5 Adding GRPC_PORT_ISOLATED_RUNTIME=1 to mac.bazelrc.
Since remote builds do not use port server, GRPC_PORT_ISOLATED_RUNTIME
is needed and it is missing from mac.bazelrc.

Before this fix
tools/bazel --bazelrc=tools/remote_build/mac.bazelrc test --config=opt test/cpp/end2end/...
failed with errors like
D0117 00:38:28.961089757      16 port_server_client.cc:139]  failed port pick from server: retrying

After this fix
build and test succeeded
2020-01-16 16:52:52 -08:00
..
README.md introduce mac.bazelrc 2019-11-25 13:35:26 +01:00
kokoro.bazelrc Revert "Revert "Merge pull request #20097 from gnossen/dual_version_python_tests"" 2019-08-29 10:51:36 -07:00
mac.bazelrc Adding GRPC_PORT_ISOLATED_RUNTIME=1 to mac.bazelrc. 2020-01-16 16:52:52 -08:00
manual.bazelrc avoid occasional timeout uploading RBE results 2019-11-15 03:02:37 -05:00
rbe_common.bazelrc use more reasonable timeouts for sanitizer tests 2019-11-26 13:03:40 -05:00
windows.bazelrc avoid occasional timeout uploading RBE results 2019-11-15 03:02:37 -05: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 --config=windows_opt //test/...

Run on MacOS (experimental for now):

# manual run of bazel tests on Mac (must be run from Mac machine)
# NOTE: it's not really a "remote execution", but uploads results to ResultStore
bazel --bazelrc=tools/remote_build/mac.bazelrc test --config=opt //test/...

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