Open amkartashov opened 3 years ago
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
:memo: Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it!
and we'll verify it.
ℹ️ Googlers: Go here for more info.
@googlebot I signed it!
Main motivation: generate toolchain configuration for MacOS remote execution (which cannot use docker).
Also can be used on Linux, f.e. when remote workers are VMs and not containers.
Changes:
runner
package with Runner interface and 2 implementations: docker runner (almost unchanged code from master) and host runner--runner
To make sure that
host
runner works identically withdocker
runner, I verified thathost
runner produces identical toolchain configuration for linux.In other words, command:
./rbe_configs_gen_linux --runner=host --output_tarball=rbe_default_linux_host.tar --exec_os=linux --target_os=linux --cleanup=false --toolchain_container=l.gcr.io/google/rbe-ubuntu16-04@sha256:f6568d8168b14aafd1b707019927a63c2d37113a03bcee188218f99bd0327ea1
which runs inside container, produces archive with the same md5sum as command:
./rbe_configs_gen --toolchain_container=l.gcr.io/google/rbe-ubuntu16-04@sha256:f6568d8168b14aafd1b707019927a63c2d37113a03bcee188218f99bd0327ea1 --output_tarball=rbe_default_linux_docker.tar --exec_os=linux --target_os=linux
does (here
rbe_configs_gen
binary is built from current master and runs on the real machine, not container)