-
Notifications
You must be signed in to change notification settings - Fork 100
add ability to generate toolchain config w/o docker #962
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
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). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here with What to do if you already signed the CLAIndividual signers
Corporate signers
ℹ️ 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:
runnerpackage with Runner interface and 2 implementations: docker runner (almost unchanged code from master) and host runner--runnerTo make sure that
hostrunner works identically withdockerrunner, I verified thathostrunner 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:f6568d8168b14aafd1b707019927a63c2d37113a03bcee188218f99bd0327ea1which 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=linuxdoes (here
rbe_configs_genbinary is built from current master and runs on the real machine, not container)