diff --git a/tools/internal_ci/helper_scripts/pre_build_linux.sh b/tools/internal_ci/helper_scripts/pre_build_linux.sh new file mode 100755 index 0000000000000000000000000000000000000000..5ce8fe6de3688cd0348b0dd790ae5bed29edfbb5 --- /dev/null +++ b/tools/internal_ci/helper_scripts/pre_build_linux.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# Copyright 2017, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +set -ex + +# Enable IPv6 in Docker +sudo sed -i s/DOCKER_OPTS=/DOCKER_OPTS=\"--ipv6\"/g /etc/init.d/docker +sudo /etc/init.d/docker restart + +# Download Docker images from DockerHub +export DOCKERHUB_ORGANIZATION=grpctesting + +git submodule update --init diff --git a/tools/internal_ci/linux/grpc_interop_badserver_java.sh b/tools/internal_ci/linux/grpc_interop_badserver_java.sh index c309c623e0b7968c329334c23c9019a27d7f30b4..e85949bbff0e2204f24375f2ff33fd665204b4e5 100755 --- a/tools/internal_ci/linux/grpc_interop_badserver_java.sh +++ b/tools/internal_ci/linux/grpc_interop_badserver_java.sh @@ -35,7 +35,6 @@ export LANG=en_US.UTF-8 # Enter the gRPC repo root cd $(dirname $0)/../../.. -git submodule update --init - +tools/internal_ci/helper_scripts/pre_build_linux.sh tools/run_tests/run_interop_tests.py -l java --use_docker --http2_server_interop $@ diff --git a/tools/internal_ci/linux/grpc_interop_badserver_python.sh b/tools/internal_ci/linux/grpc_interop_badserver_python.sh index c3bb92f33da34a3a5c8aadb6ba50bbf4faeabdb7..2010597d91bb3e4f5f055d4ad7ce36621ff24e32 100755 --- a/tools/internal_ci/linux/grpc_interop_badserver_python.sh +++ b/tools/internal_ci/linux/grpc_interop_badserver_python.sh @@ -35,7 +35,6 @@ export LANG=en_US.UTF-8 # Enter the gRPC repo root cd $(dirname $0)/../../.. -git submodule update --init - +tools/internal_ci/helper_scripts/pre_build_linux.sh tools/run_tests/run_interop_tests.py -l python --use_docker --http2_server_interop $@ diff --git a/tools/internal_ci/linux/grpc_interop_tocloud.sh b/tools/internal_ci/linux/grpc_interop_tocloud.sh index 572001d9441241f7173f7ffd2fa09c199a17db75..5f3c603a1311fa288726c481394c6d8a6c514a81 100755 --- a/tools/internal_ci/linux/grpc_interop_tocloud.sh +++ b/tools/internal_ci/linux/grpc_interop_tocloud.sh @@ -35,6 +35,5 @@ export LANG=en_US.UTF-8 # Enter the gRPC repo root cd $(dirname $0)/../../.. -git submodule update --init - +tools/internal_ci/helper_scripts/pre_build_linux.sh tools/run_tests/run_interop_tests.py -l all -s all --use_docker --http2_interop -t -j 12 $@ diff --git a/tools/internal_ci/linux/grpc_master.sh b/tools/internal_ci/linux/grpc_master.sh index bd22dd069c21857f971a1117b9df4d4202277b11..b7184c3d7db1cdc052d9d02914dfc8fb4e8e320a 100755 --- a/tools/internal_ci/linux/grpc_master.sh +++ b/tools/internal_ci/linux/grpc_master.sh @@ -43,8 +43,5 @@ docker --version || true # Need to increase open files limit for c tests ulimit -n 32768 -git submodule update --init - -# download docker images from dockerhub -export DOCKERHUB_ORGANIZATION=grpctesting +tools/internal_ci/helper_scripts/pre_build_linux.sh tools/run_tests/run_tests_matrix.py -f basictests linux --inner_jobs 16 -j 1 --internal_ci diff --git a/tools/internal_ci/linux/grpc_portability.sh b/tools/internal_ci/linux/grpc_portability.sh index 6c55ed71cbbee3cb1b7983c998fe2afb54b6aa14..bc7e8ca3579b7dbc86ac11d9ec46a2279ffb9480 100755 --- a/tools/internal_ci/linux/grpc_portability.sh +++ b/tools/internal_ci/linux/grpc_portability.sh @@ -33,8 +33,5 @@ set -ex # change to grpc repo root cd $(dirname $0)/../../.. -git submodule update --init - -# download docker images from dockerhub -export DOCKERHUB_ORGANIZATION=grpctesting +tools/internal_ci/helper_scripts/pre_build_linux.sh tools/run_tests/run_tests_matrix.py -f portability linux --inner_jobs 16 -j 1 --internal_ci diff --git a/tools/internal_ci/linux/grpc_portability_build_only.sh b/tools/internal_ci/linux/grpc_portability_build_only.sh index 787f0302c088726ce0374256f5a34031e4bb9a75..fda511ea673b64bb3d02ab1a551c2d009ba711b7 100755 --- a/tools/internal_ci/linux/grpc_portability_build_only.sh +++ b/tools/internal_ci/linux/grpc_portability_build_only.sh @@ -33,8 +33,5 @@ set -ex # change to grpc repo root cd $(dirname $0)/../../.. -git submodule update --init - -# download docker images from dockerhub -export DOCKERHUB_ORGANIZATION=grpctesting +tools/internal_ci/helper_scripts/pre_build_linux.sh tools/run_tests/run_tests_matrix.py -f portability linux --internal_ci --build_only diff --git a/tools/internal_ci/linux/grpc_sanity.sh b/tools/internal_ci/linux/grpc_sanity.sh index fac25c75315d2369e03311edefdfc8a1bc23b569..2c6712a893aab9abdf44506ec07a0675b29486aa 100755 --- a/tools/internal_ci/linux/grpc_sanity.sh +++ b/tools/internal_ci/linux/grpc_sanity.sh @@ -33,8 +33,5 @@ set -ex # change to grpc repo root cd $(dirname $0)/../../.. -git submodule update --init - -# download base docker image from dockerhub -export DOCKERHUB_ORGANIZATION=grpctesting +tools/internal_ci/helper_scripts/pre_build_linux.sh tools/run_tests/run_tests.py -l sanity -c opt -t -x sponge_log.xml --use_docker --report_suite_name sanity_linux_opt diff --git a/tools/internal_ci/linux/sanitizer/grpc_c_asan.sh b/tools/internal_ci/linux/sanitizer/grpc_c_asan.sh index 2927ad7de485c39e37bbec7f587b06b62a3bc224..be5ad1c1ae2361478905ff5c4ac4b0e55637ca5c 100755 --- a/tools/internal_ci/linux/sanitizer/grpc_c_asan.sh +++ b/tools/internal_ci/linux/sanitizer/grpc_c_asan.sh @@ -33,8 +33,5 @@ set -ex # change to grpc repo root cd $(dirname $0)/../../../.. -git submodule update --init - -# download docker images from dockerhub -export DOCKERHUB_ORGANIZATION=grpctesting +tools/internal_ci/helper_scripts/pre_build_linux.sh tools/run_tests/run_tests_matrix.py -f c asan --inner_jobs 16 -j 1 --internal_ci diff --git a/tools/internal_ci/linux/sanitizer/grpc_c_msan.sh b/tools/internal_ci/linux/sanitizer/grpc_c_msan.sh index 3a3c850a9f2502ead0cab85c2ff1c405814cb4cb..299f7739fe36964e626e9a8dd9fde34962d9692c 100755 --- a/tools/internal_ci/linux/sanitizer/grpc_c_msan.sh +++ b/tools/internal_ci/linux/sanitizer/grpc_c_msan.sh @@ -33,8 +33,5 @@ set -ex # change to grpc repo root cd $(dirname $0)/../../../.. -git submodule update --init - -# download docker images from dockerhub -export DOCKERHUB_ORGANIZATION=grpctesting +tools/internal_ci/helper_scripts/pre_build_linux.sh tools/run_tests/run_tests_matrix.py -f c msan --inner_jobs 16 -j 1 --internal_ci diff --git a/tools/internal_ci/linux/sanitizer/grpc_c_tsan.sh b/tools/internal_ci/linux/sanitizer/grpc_c_tsan.sh index daebf34521e98f6e8d221df27ee2bef3a665276f..6429d07a6385dfa777da43cbe254edba1b7b5ffb 100755 --- a/tools/internal_ci/linux/sanitizer/grpc_c_tsan.sh +++ b/tools/internal_ci/linux/sanitizer/grpc_c_tsan.sh @@ -33,8 +33,5 @@ set -ex # change to grpc repo root cd $(dirname $0)/../../../.. -git submodule update --init - -# download docker images from dockerhub -export DOCKERHUB_ORGANIZATION=grpctesting +tools/internal_ci/helper_scripts/pre_build_linux.sh tools/run_tests/run_tests_matrix.py -f c tsan --inner_jobs 16 -j 1 --internal_ci diff --git a/tools/internal_ci/linux/sanitizer/grpc_cpp_asan.sh b/tools/internal_ci/linux/sanitizer/grpc_cpp_asan.sh index 29f7fda74b1b489de705c0ba2ca26c23800f3e6d..1303d4a110b91ed12a8cd8de7d5fa1992850a04f 100755 --- a/tools/internal_ci/linux/sanitizer/grpc_cpp_asan.sh +++ b/tools/internal_ci/linux/sanitizer/grpc_cpp_asan.sh @@ -33,8 +33,5 @@ set -ex # change to grpc repo root cd $(dirname $0)/../../../.. -git submodule update --init - -# download docker images from dockerhub -export DOCKERHUB_ORGANIZATION=grpctesting +tools/internal_ci/helper_scripts/pre_build_linux.sh tools/run_tests/run_tests_matrix.py -f c++ asan --inner_jobs 16 -j 1 --internal_ci diff --git a/tools/internal_ci/linux/sanitizer/grpc_cpp_tsan.sh b/tools/internal_ci/linux/sanitizer/grpc_cpp_tsan.sh index 4b9291a4a00ac8cf5bc14bdbe1fe11122f503a7c..972e33f542d00f4a5d83c91a0c1c31914d1a45f6 100755 --- a/tools/internal_ci/linux/sanitizer/grpc_cpp_tsan.sh +++ b/tools/internal_ci/linux/sanitizer/grpc_cpp_tsan.sh @@ -33,8 +33,5 @@ set -ex # change to grpc repo root cd $(dirname $0)/../../../.. -git submodule update --init - -# download docker images from dockerhub -export DOCKERHUB_ORGANIZATION=grpctesting +tools/internal_ci/helper_scripts/pre_build_linux.sh tools/run_tests/run_tests_matrix.py -f c++ tsan --inner_jobs 16 -j 1 --internal_ci diff --git a/tools/run_tests/dockerize/build_docker_and_run_tests.sh b/tools/run_tests/dockerize/build_docker_and_run_tests.sh index 731bb02d214480bc73238b1de2a4a92389433a2e..79287454c93d52e4bdda4dd076e35578403e01fd 100755 --- a/tools/run_tests/dockerize/build_docker_and_run_tests.sh +++ b/tools/run_tests/dockerize/build_docker_and_run_tests.sh @@ -82,6 +82,7 @@ docker run \ -e "BUILD_URL=$BUILD_URL" \ -e "JOB_BASE_NAME=$JOB_BASE_NAME" \ -i $TTY_FLAG \ + --sysctl net.ipv6.conf.all.disable_ipv6=0 \ -v ~/.config/gcloud:/root/.config/gcloud \ -v "$git_root:$docker_instance_git_root" \ -v /tmp/ccache:/tmp/ccache \