* attempt
* slim down build_docker_and_run_tests.sh
* HOST_GIT_ROOT is unused
* config and arch variable no need to propagate to run_tests.py
* unify unused LOCAL_GIT_ROOT to EXTERNAL_GIT_ROOT
* mounting gcloud config seems useless
* reorder docker args
* cleanup
* allow passing args to build_docker_and_run_tests.sh
* converge build_docker_and_run_tests.sh and build_and_run_docker.sh
* more convergence
* convergence of docker runners
* finalize convergence of run_docker scripts
* GRPC_TEST_REPORT_BASE_DIR might not exist
* adjust report copying
* make report_dir and output_dir readable
* alpine linux does not support cp -t
* add cmake support for ccache
* cleanup: use --env-file for docker run invocations
* make python build compatible with using ccache
* enable building using ccache in selected kokoro jobs
* print ccache stats and the end of run_tests.py
* Provide custom sponge configs
* Correct the script
* Allow test scripts to produce artifacts through Docker
* Overcome the direcotry clone in our docker script
* Expose TESTGRID_EXCLUDE and GIT_ORIGIN_URL through docker run
* Make sanity tests happy
Ideally instead of having names like ruby_jessie_x64_ruby_2_5 and
ruby_jessie_x64_ruby_2_6 they would have the name "ruby" with tags
containing jessie_x64_ruby_2_5/6. But fixing that would be much more
invasive. The sha1 in the tag is producing the worst effects, so this is
a case of the perfect being the enemy of the good.
Fixes#20546
* Use latest pylint in Python 3.7 (they dropped support for PY2)
* Make latest pylint happy
* Forced to upgrade to shellcheck 0.4.4
* Make shellcheck 0.4.4 happy
* Adopt reviewers' advice to reduce global disabled rules
-) created a .profile at the root of the docker image - seems the new nvm script requires that.
-) installing simplejson and mako python packages, for the sanity check.
-) calling prepare_travis.sh in order to try and download precompiled packages for openssl and protobuf.
-) using the new "config" axis.
-) improved the output of prepare_travis.sh.