Change `git submodule` copying mechanism from the host
to the docker container to use `git clone` instead of
`git submodule update --init --reference`, which reaches
out to the network and fails on older docker containers
with deprecated openssl versions that do not support
modern TLS versions required by GitHub, e.g. manylinux1.
This fixes artifact builds for protoc and Python on Linux.
Currently when running python test on linux, we are mounting
/tmp/xdg-cache-home to the docker container that runs the tests
in the attempt to prevent unnecessary downloads of pip packages
(with the theory that more downloads leads to increased flakiness)
- the idea is that while there is a new docker container for each
test suite, the xdg cache remains per-VM.
This approach no longer seems to be useful:
* It turns out that XDG cache doesn't work reliably when multiple
docker containers are using it concurrently (the concurrent run can
see corrupt files). We are using concurrent docker containers in our
multilang test suite to speed up the execution and we are currently
getting flakes seeing flakes caused by this.
* support for caching makes our docker_run scripts more complicated
and we really don't want that.
* since we migrated to kokoro, the caching is limited anyway -
as each run gets a fresh VM, we need to download packages anyway
for every build (and that actually seems to causing way less
flakiness the problem with concurrent XDG caching).
Features included in this merge:
- Added script to build and upload docker image for matrix test.
- Added script to create test cases and created go__master testcases based on it.
- Created dictionary for runtimes and gRPC releases for supported languages.
- Added go 1.7 and 1.8 Dockerfile/templates.
See tools/interop_matrix/README.md for details.
This fixes the GCP console slowness for grpc-testing project
Fixed the docker image building script to remove the "-f" option (that
is now deprecated) from 'docker tag' command.