diff --git a/templates/tools/dockerfile/test/cxx_buster_x64/Dockerfile.template b/templates/tools/dockerfile/test/cxx_buster_x64/Dockerfile.template new file mode 100644 index 00000000000..d3da8ab9410 --- /dev/null +++ b/templates/tools/dockerfile/test/cxx_buster_x64/Dockerfile.template @@ -0,0 +1,26 @@ +%YAML 1.2 +--- | + # Copyright 2015 gRPC authors. + # + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this file except in compliance with the License. + # You may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + + FROM debian:buster + + <%include file="../../apt_get_basic.include"/> + <%include file="../../gcp_api_libraries.include"/> + <%include file="../../python_deps.include"/> + <%include file="../../cxx_deps.include"/> + <%include file="../../run_tests_addons.include"/> + + # Define the default command. + CMD ["bash"] diff --git a/tools/dockerfile/test/cxx_buster_x64/Dockerfile b/tools/dockerfile/test/cxx_buster_x64/Dockerfile new file mode 100644 index 00000000000..c3db918b4dc --- /dev/null +++ b/tools/dockerfile/test/cxx_buster_x64/Dockerfile @@ -0,0 +1,80 @@ +# Copyright 2015 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM debian:buster + +# Install Git and basic packages. +RUN apt-get update && apt-get install -y \ + autoconf \ + autotools-dev \ + build-essential \ + bzip2 \ + ccache \ + curl \ + dnsutils \ + gcc \ + gcc-multilib \ + git \ + golang \ + gyp \ + lcov \ + libc6 \ + libc6-dbg \ + libc6-dev \ + libgtest-dev \ + libtool \ + make \ + perl \ + strace \ + python-dev \ + python-setuptools \ + python-yaml \ + telnet \ + unzip \ + wget \ + zip && apt-get clean + +#================ +# Build profiling +RUN apt-get update && apt-get install -y time && apt-get clean + +# Google Cloud platform API libraries +RUN apt-get update && apt-get install -y python-pip && apt-get clean +RUN pip install --upgrade google-api-python-client oauth2client + +#==================== +# Python dependencies + +# Install dependencies + +RUN apt-get update && apt-get install -y \ + python-all-dev \ + python3-all-dev \ + python-pip + +# Install Python packages from PyPI +RUN pip install --upgrade pip==10.0.1 +RUN pip install virtualenv +RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.5.2.post1 six==1.10.0 twisted==17.5.0 + +#================= +# C++ dependencies +RUN apt-get update && apt-get -y install libgflags-dev libgtest-dev libc++-dev clang && apt-get clean + + +RUN mkdir /var/local/jenkins + + +# Define the default command. +CMD ["bash"] diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 0ca5a6589d3..33b455030c0 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -518,6 +518,8 @@ class CLanguage(object): return ('ubuntu1604', []) elif compiler == 'gcc7.4': return ('ubuntu1804', []) + elif compiler == 'gcc8.3': + return ('buster', []) elif compiler == 'gcc_musl': return ('alpine', []) elif compiler == 'clang3.4': @@ -1475,11 +1477,11 @@ argp.add_argument( '--compiler', choices=[ 'default', 'gcc4.4', 'gcc4.6', 'gcc4.8', 'gcc4.9', 'gcc5.3', 'gcc7.4', - 'gcc_musl', 'clang3.4', 'clang3.5', 'clang3.6', 'clang3.7', 'clang7.0', - 'python2.7', 'python3.4', 'python3.5', 'python3.6', 'python3.7', - 'python3.8', 'pypy', 'pypy3', 'python_alpine', 'all_the_cpythons', - 'electron1.3', 'electron1.6', 'coreclr', 'cmake', 'cmake_vs2015', - 'cmake_vs2017' + 'gcc8.3', 'gcc_musl', 'clang3.4', 'clang3.5', 'clang3.6', 'clang3.7', + 'clang7.0', 'python2.7', 'python3.4', 'python3.5', 'python3.6', + 'python3.7', 'python3.8', 'pypy', 'pypy3', 'python_alpine', + 'all_the_cpythons', 'electron1.3', 'electron1.6', 'coreclr', 'cmake', + 'cmake_vs2015', 'cmake_vs2017' ], default='default', help= diff --git a/tools/run_tests/run_tests_matrix.py b/tools/run_tests/run_tests_matrix.py index aa2e0f9c1fc..99f95f4912a 100755 --- a/tools/run_tests/run_tests_matrix.py +++ b/tools/run_tests/run_tests_matrix.py @@ -316,8 +316,8 @@ def _create_portability_test_jobs(extra_args=[], # portability C and C++ on x64 for compiler in [ - 'gcc4.8', 'gcc5.3', 'gcc7.4', 'gcc_musl', 'clang3.5', 'clang3.6', - 'clang3.7', 'clang7.0' + 'gcc4.8', 'gcc5.3', 'gcc7.4', 'gcc8.3', 'gcc_musl', 'clang3.5', + 'clang3.6', 'clang3.7', 'clang7.0' ]: test_jobs += _generate_jobs( languages=['c', 'c++'],