From 4b593bd08457b7ded8376c3bfcd7d0f9ac0101bf Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Fri, 19 Oct 2018 11:07:55 -0700 Subject: [PATCH 01/12] Testing new dockerfile from scratch --- .../test/python_testing_x64/Dockerfile | 79 +++++++++++++++++++ tools/run_tests/run_tests.py | 2 + 2 files changed, 81 insertions(+) create mode 100644 tools/dockerfile/test/python_testing_x64/Dockerfile diff --git a/tools/dockerfile/test/python_testing_x64/Dockerfile b/tools/dockerfile/test/python_testing_x64/Dockerfile new file mode 100644 index 00000000000..1606f86e1ba --- /dev/null +++ b/tools/dockerfile/test/python_testing_x64/Dockerfile @@ -0,0 +1,79 @@ +# Copyright 2016 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:stretch + +# 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 + +# Install Python 3 +RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list +RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local +RUN apt-get update && apt-get -t testing install python2.7 python3.7 + +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 48c40ad7246..63f6b04b532 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -761,6 +761,8 @@ class PythonLanguage(object): def python_manager_name(self): if self.args.compiler in ['python3.5', 'python3.6']: return 'pyenv' + elif self.args.compiler == 'python3.7': + return 'testing' elif self.args.compiler == 'python_alpine': return 'alpine' else: From 21ea6718cb1988e5b3ee2e0a48baf84093f0a716 Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Fri, 19 Oct 2018 11:09:53 -0700 Subject: [PATCH 02/12] Add '-y' --- tools/dockerfile/test/python_testing_x64/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/dockerfile/test/python_testing_x64/Dockerfile b/tools/dockerfile/test/python_testing_x64/Dockerfile index 1606f86e1ba..addc5b2958c 100644 --- a/tools/dockerfile/test/python_testing_x64/Dockerfile +++ b/tools/dockerfile/test/python_testing_x64/Dockerfile @@ -71,7 +71,7 @@ RUN pip install --upgrade google-api-python-client oauth2client # Install Python 3 RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local -RUN apt-get update && apt-get -t testing install python2.7 python3.7 +RUN apt-get update && apt-get -t testing install -y python2.7 python3.7 RUN mkdir /var/local/jenkins From f57f142b23d3acdc339297facc9077e5f14d0728 Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Fri, 19 Oct 2018 11:37:49 -0700 Subject: [PATCH 03/12] Migrate to new dockerfile --- tools/dockerfile/test/python_testing_x64/Dockerfile | 6 +++++- tools/run_tests/run_tests.py | 4 +--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/dockerfile/test/python_testing_x64/Dockerfile b/tools/dockerfile/test/python_testing_x64/Dockerfile index addc5b2958c..85a34c865ae 100644 --- a/tools/dockerfile/test/python_testing_x64/Dockerfile +++ b/tools/dockerfile/test/python_testing_x64/Dockerfile @@ -71,7 +71,11 @@ RUN pip install --upgrade google-api-python-client oauth2client # Install Python 3 RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local -RUN apt-get update && apt-get -t testing install -y python2.7 python3.7 +RUN apt-get update && apt-get -t testing install -y python2.7 python3.5 python3.6 python3.7 python-all-dev python3-all-dev + +RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 +# RUN apt-get -t testing install -y python3-distutils +# RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 RUN mkdir /var/local/jenkins diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 63f6b04b532..53c8a2f4fbf 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -759,9 +759,7 @@ class PythonLanguage(object): self.python_manager_name(), _docker_arch_suffix(self.args.arch)) def python_manager_name(self): - if self.args.compiler in ['python3.5', 'python3.6']: - return 'pyenv' - elif self.args.compiler == 'python3.7': + if self.args.compiler in ['python3.5', 'python3.6', 'python3.7']: return 'testing' elif self.args.compiler == 'python_alpine': return 'alpine' From 2f038f611ab10c059a01f585bb8281296561d6b0 Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Fri, 19 Oct 2018 11:54:41 -0700 Subject: [PATCH 04/12] Install pip for each Python version --- tools/dockerfile/test/python_testing_x64/Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/dockerfile/test/python_testing_x64/Dockerfile b/tools/dockerfile/test/python_testing_x64/Dockerfile index 85a34c865ae..0b3c5e55d85 100644 --- a/tools/dockerfile/test/python_testing_x64/Dockerfile +++ b/tools/dockerfile/test/python_testing_x64/Dockerfile @@ -72,10 +72,12 @@ RUN pip install --upgrade google-api-python-client oauth2client RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local RUN apt-get update && apt-get -t testing install -y python2.7 python3.5 python3.6 python3.7 python-all-dev python3-all-dev +# RUN apt-get -t testing install -y python3-distutils RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 -# RUN apt-get -t testing install -y python3-distutils -# RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 +RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 +RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6 +RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 RUN mkdir /var/local/jenkins From bfe2d8153df127508a8105361fbf1d4623dc1657 Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Fri, 19 Oct 2018 11:59:28 -0700 Subject: [PATCH 05/12] Using template to generate Dockerfile --- .../python_testing_x64/Dockerfile.template | 34 +++++++++++++++++++ .../test/python_testing_x64/Dockerfile | 18 ++-------- 2 files changed, 36 insertions(+), 16 deletions(-) create mode 100644 templates/tools/dockerfile/test/python_testing_x64/Dockerfile.template diff --git a/templates/tools/dockerfile/test/python_testing_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_testing_x64/Dockerfile.template new file mode 100644 index 00000000000..563edd38a63 --- /dev/null +++ b/templates/tools/dockerfile/test/python_testing_x64/Dockerfile.template @@ -0,0 +1,34 @@ +%YAML 1.2 +--- | + # Copyright 2016 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:stretch + + <%include file="../../apt_get_basic.include"/> + <%include file="../../gcp_api_libraries.include"/> + + # Install Python Versions from Debain 'testing' repository + RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list + RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local + RUN apt-get update && apt-get -t testing install -y python2.7 python3.5 python3.6 python3.7 python-all-dev python3-all-dev + + RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 + RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 + RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6 + RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 + + <%include file="../../run_tests_addons.include"/> + # Define the default command. + CMD ["bash"] diff --git a/tools/dockerfile/test/python_testing_x64/Dockerfile b/tools/dockerfile/test/python_testing_x64/Dockerfile index 0b3c5e55d85..788212b8362 100644 --- a/tools/dockerfile/test/python_testing_x64/Dockerfile +++ b/tools/dockerfile/test/python_testing_x64/Dockerfile @@ -53,32 +53,18 @@ RUN apt-get update && apt-get install -y time && apt-get clean 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 - -# Install Python 3 +# Install Python Versions from Debain 'testing' repository RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local RUN apt-get update && apt-get -t testing install -y python2.7 python3.5 python3.6 python3.7 python-all-dev python3-all-dev -# RUN apt-get -t testing install -y python3-distutils RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6 RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 + RUN mkdir /var/local/jenkins # Define the default command. From 1a74f991e1a7d39a609e7b127194649cb36e96c8 Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Mon, 22 Oct 2018 10:39:20 -0700 Subject: [PATCH 06/12] Rename Dockerfile && fix typo --- .../Dockerfile.template | 4 ++-- .../{python_testing_x64 => python_stretch_x64}/Dockerfile | 4 ++-- tools/run_tests/run_tests.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) rename templates/tools/dockerfile/test/{python_testing_x64 => python_stretch_x64}/Dockerfile.template (93%) rename tools/dockerfile/test/{python_testing_x64 => python_stretch_x64}/Dockerfile (95%) diff --git a/templates/tools/dockerfile/test/python_testing_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_x64/Dockerfile.template similarity index 93% rename from templates/tools/dockerfile/test/python_testing_x64/Dockerfile.template rename to templates/tools/dockerfile/test/python_stretch_x64/Dockerfile.template index 563edd38a63..b897cace1e3 100644 --- a/templates/tools/dockerfile/test/python_testing_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2016 gRPC authors. + # Copyright 2018 gRPC authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ <%include file="../../apt_get_basic.include"/> <%include file="../../gcp_api_libraries.include"/> - # Install Python Versions from Debain 'testing' repository + # Install Python Versions from Debian 'testing' repository RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local RUN apt-get update && apt-get -t testing install -y python2.7 python3.5 python3.6 python3.7 python-all-dev python3-all-dev diff --git a/tools/dockerfile/test/python_testing_x64/Dockerfile b/tools/dockerfile/test/python_stretch_x64/Dockerfile similarity index 95% rename from tools/dockerfile/test/python_testing_x64/Dockerfile rename to tools/dockerfile/test/python_stretch_x64/Dockerfile index 788212b8362..b3254936378 100644 --- a/tools/dockerfile/test/python_testing_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2016 gRPC authors. +# Copyright 2018 gRPC authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -54,7 +54,7 @@ RUN apt-get update && apt-get install -y python-pip && apt-get clean RUN pip install --upgrade google-api-python-client oauth2client -# Install Python Versions from Debain 'testing' repository +# Install Python Versions from Debian 'testing' repository RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local RUN apt-get update && apt-get -t testing install -y python2.7 python3.5 python3.6 python3.7 python-all-dev python3-all-dev diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 53c8a2f4fbf..a721c672458 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -760,7 +760,7 @@ class PythonLanguage(object): def python_manager_name(self): if self.args.compiler in ['python3.5', 'python3.6', 'python3.7']: - return 'testing' + return 'stretch' elif self.args.compiler == 'python_alpine': return 'alpine' else: From 0dbd7831c3338e4e55eb953204cb8b26ed427ce0 Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Mon, 22 Oct 2018 11:08:45 -0700 Subject: [PATCH 07/12] Add different Dockerfile for each Python version --- .../python_stretch_35_x64/Dockerfile.template | 29 ++++++++ .../Dockerfile.template | 4 +- .../python_stretch_37_x64/Dockerfile.template | 32 +++++++++ .../test/python_stretch_35_x64/Dockerfile | 66 ++++++++++++++++++ .../Dockerfile | 4 +- .../test/python_stretch_37_x64/Dockerfile | 69 +++++++++++++++++++ tools/run_tests/run_tests.py | 8 ++- 7 files changed, 204 insertions(+), 8 deletions(-) create mode 100644 templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template rename templates/tools/dockerfile/test/{python_stretch_x64 => python_stretch_36_x64}/Dockerfile.template (87%) create mode 100644 templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template create mode 100644 tools/dockerfile/test/python_stretch_35_x64/Dockerfile rename tools/dockerfile/test/{python_stretch_x64 => python_stretch_36_x64}/Dockerfile (91%) create mode 100644 tools/dockerfile/test/python_stretch_37_x64/Dockerfile diff --git a/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template new file mode 100644 index 00000000000..34beaa8a494 --- /dev/null +++ b/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template @@ -0,0 +1,29 @@ +%YAML 1.2 +--- | + # Copyright 2018 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:stretch + + <%include file="../../apt_get_basic.include"/> + <%include file="../../gcp_api_libraries.include"/> + + RUN apt-get update && apt-get install -y python2.7 python3.5 python-all-dev python3-all-dev + + RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 + RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 + + <%include file="../../run_tests_addons.include"/> + # Define the default command. + CMD ["bash"] diff --git a/templates/tools/dockerfile/test/python_stretch_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template similarity index 87% rename from templates/tools/dockerfile/test/python_stretch_x64/Dockerfile.template rename to templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template index b897cace1e3..cba11a88fdb 100644 --- a/templates/tools/dockerfile/test/python_stretch_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template @@ -22,12 +22,10 @@ # Install Python Versions from Debian 'testing' repository RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local - RUN apt-get update && apt-get -t testing install -y python2.7 python3.5 python3.6 python3.7 python-all-dev python3-all-dev + RUN apt-get update && apt-get -t testing install -y python2.7 python3.6 python-all-dev python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 - RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6 - RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 <%include file="../../run_tests_addons.include"/> # Define the default command. diff --git a/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template new file mode 100644 index 00000000000..9ae0ad14bba --- /dev/null +++ b/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template @@ -0,0 +1,32 @@ +%YAML 1.2 +--- | + # Copyright 2018 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:stretch + + <%include file="../../apt_get_basic.include"/> + <%include file="../../gcp_api_libraries.include"/> + + # Install Python Versions from Debian 'testing' repository + RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list + RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local + RUN apt-get update && apt-get -t testing install -y python2.7 python3.7 python-all-dev python3-all-dev + + RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 + RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 + + <%include file="../../run_tests_addons.include"/> + # Define the default command. + CMD ["bash"] diff --git a/tools/dockerfile/test/python_stretch_35_x64/Dockerfile b/tools/dockerfile/test/python_stretch_35_x64/Dockerfile new file mode 100644 index 00000000000..fa4d3b820f0 --- /dev/null +++ b/tools/dockerfile/test/python_stretch_35_x64/Dockerfile @@ -0,0 +1,66 @@ +# Copyright 2018 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:stretch + +# 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 + + +RUN apt-get update && apt-get install -y python2.7 python3.5 python-all-dev python3-all-dev + +RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 +RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 + + +RUN mkdir /var/local/jenkins + +# Define the default command. +CMD ["bash"] diff --git a/tools/dockerfile/test/python_stretch_x64/Dockerfile b/tools/dockerfile/test/python_stretch_36_x64/Dockerfile similarity index 91% rename from tools/dockerfile/test/python_stretch_x64/Dockerfile rename to tools/dockerfile/test/python_stretch_36_x64/Dockerfile index b3254936378..988ecd9bf6b 100644 --- a/tools/dockerfile/test/python_stretch_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_36_x64/Dockerfile @@ -57,12 +57,10 @@ RUN pip install --upgrade google-api-python-client oauth2client # Install Python Versions from Debian 'testing' repository RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local -RUN apt-get update && apt-get -t testing install -y python2.7 python3.5 python3.6 python3.7 python-all-dev python3-all-dev +RUN apt-get update && apt-get -t testing install -y python2.7 python3.6 python-all-dev python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 -RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6 -RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 RUN mkdir /var/local/jenkins diff --git a/tools/dockerfile/test/python_stretch_37_x64/Dockerfile b/tools/dockerfile/test/python_stretch_37_x64/Dockerfile new file mode 100644 index 00000000000..6da3379ed03 --- /dev/null +++ b/tools/dockerfile/test/python_stretch_37_x64/Dockerfile @@ -0,0 +1,69 @@ +# Copyright 2018 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:stretch + +# 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 + + +# Install Python Versions from Debian 'testing' repository +RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list +RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local +RUN apt-get update && apt-get -t testing install -y python2.7 python3.7 python-all-dev python3-all-dev + +RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 +RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 + + +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 a721c672458..86a46c10c92 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -759,8 +759,12 @@ class PythonLanguage(object): self.python_manager_name(), _docker_arch_suffix(self.args.arch)) def python_manager_name(self): - if self.args.compiler in ['python3.5', 'python3.6', 'python3.7']: - return 'stretch' + if self.args.compiler == 'python3.5': + return 'stretch_35' + elif self.args.compiler == 'python3.6': + return 'stretch_36' + elif self.args.compiler == 'python3.7': + return 'stretch_37' elif self.args.compiler == 'python_alpine': return 'alpine' else: From 772c4c43362736690779eb8d52279a97b5335b6d Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Tue, 23 Oct 2018 12:59:22 -0700 Subject: [PATCH 08/12] Migrate from `jessie` to `stretch` --- .../dockerfile/apt_get_python_27.include | 3 ++ .../dockerfile/debian_testing_repo.include | 3 ++ .../Dockerfile.template | 9 +--- .../Dockerfile.template | 10 ++-- .../python_stretch_35_x64/Dockerfile.template | 7 ++- .../python_stretch_36_x64/Dockerfile.template | 11 ++--- .../python_stretch_37_x64/Dockerfile.template | 11 ++--- .../Dockerfile | 48 ++----------------- .../Dockerfile | 24 +++------- .../test/python_stretch_35_x64/Dockerfile | 9 ++-- .../test/python_stretch_36_x64/Dockerfile | 12 +++-- .../test/python_stretch_37_x64/Dockerfile | 12 +++-- tools/run_tests/run_tests.py | 13 +++-- 13 files changed, 59 insertions(+), 113 deletions(-) create mode 100644 templates/tools/dockerfile/apt_get_python_27.include create mode 100644 templates/tools/dockerfile/debian_testing_repo.include rename templates/tools/dockerfile/test/{python_pyenv_x64 => python_stretch_27_x64}/Dockerfile.template (74%) rename templates/tools/dockerfile/test/{python_jessie_x64 => python_stretch_34_x64}/Dockerfile.template (81%) rename tools/dockerfile/test/{python_pyenv_x64 => python_stretch_27_x64}/Dockerfile (52%) rename tools/dockerfile/test/{python_jessie_x64 => python_stretch_34_x64}/Dockerfile (73%) diff --git a/templates/tools/dockerfile/apt_get_python_27.include b/templates/tools/dockerfile/apt_get_python_27.include new file mode 100644 index 00000000000..c7642d8c79b --- /dev/null +++ b/templates/tools/dockerfile/apt_get_python_27.include @@ -0,0 +1,3 @@ +# Install Python 2.7 +RUN apt-get update && apt-get install -y python2.7 python-all-dev +RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 \ No newline at end of file diff --git a/templates/tools/dockerfile/debian_testing_repo.include b/templates/tools/dockerfile/debian_testing_repo.include new file mode 100644 index 00000000000..1a5248e2264 --- /dev/null +++ b/templates/tools/dockerfile/debian_testing_repo.include @@ -0,0 +1,3 @@ +# Add Debian 'testing' repository +RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list +RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local diff --git a/templates/tools/dockerfile/test/python_pyenv_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_27_x64/Dockerfile.template similarity index 74% rename from templates/tools/dockerfile/test/python_pyenv_x64/Dockerfile.template rename to templates/tools/dockerfile/test/python_stretch_27_x64/Dockerfile.template index 1e013b742c4..067d68bc37b 100644 --- a/templates/tools/dockerfile/test/python_pyenv_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_27_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2016 gRPC authors. + # Copyright 2018 The gRPC authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,12 +18,7 @@ <%include file="../../apt_get_basic.include"/> <%include file="../../gcp_api_libraries.include"/> - <%include file="../../python_deps.include"/> - <%include file="../../apt_get_pyenv.include"/> - # Install pip and virtualenv for Python 3.5 - RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 - RUN python3.5 -m pip install virtualenv - + <%include file="../../apt_get_python_27.include"/> <%include file="../../run_tests_addons.include"/> # Define the default command. CMD ["bash"] diff --git a/templates/tools/dockerfile/test/python_jessie_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_34_x64/Dockerfile.template similarity index 81% rename from templates/tools/dockerfile/test/python_jessie_x64/Dockerfile.template rename to templates/tools/dockerfile/test/python_stretch_34_x64/Dockerfile.template index e73b839a284..6fe4fc4b679 100644 --- a/templates/tools/dockerfile/test/python_jessie_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_34_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015 gRPC authors. + # Copyright 2018 The gRPC authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,14 +14,14 @@ # See the License for the specific language governing permissions and # limitations under the License. - FROM debian:jessie + FROM debian:stretch <%include file="../../apt_get_basic.include"/> <%include file="../../gcp_api_libraries.include"/> - <%include file="../../python_deps.include"/> - # Install pip and virtualenv for Python 3.4 + <%include file="../../apt_get_python_27.include"/> + + RUN apt-get update && apt-get install -y python3.4 python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python3.4 - RUN python3.4 -m pip install virtualenv <%include file="../../run_tests_addons.include"/> # Define the default command. diff --git a/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template index 34beaa8a494..e339bb5ced9 100644 --- a/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2018 gRPC authors. + # Copyright 2018 The gRPC authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,10 +18,9 @@ <%include file="../../apt_get_basic.include"/> <%include file="../../gcp_api_libraries.include"/> + <%include file="../../apt_get_python_27.include"/> - RUN apt-get update && apt-get install -y python2.7 python3.5 python-all-dev python3-all-dev - - RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 + RUN apt-get update && apt-get install -y python3.5 python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 <%include file="../../run_tests_addons.include"/> diff --git a/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template index cba11a88fdb..7db3b7609e2 100644 --- a/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2018 gRPC authors. + # Copyright 2018 The gRPC authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,13 +18,10 @@ <%include file="../../apt_get_basic.include"/> <%include file="../../gcp_api_libraries.include"/> - - # Install Python Versions from Debian 'testing' repository - RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list - RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local - RUN apt-get update && apt-get -t testing install -y python2.7 python3.6 python-all-dev python3-all-dev + <%include file="../../apt_get_python_27.include"/> + <%include file="../../debian_testing_repo.include"/> - RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 + RUN apt-get update && apt-get -t testing install -y python3.6 python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6 <%include file="../../run_tests_addons.include"/> diff --git a/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template index 9ae0ad14bba..7fb27980293 100644 --- a/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2018 gRPC authors. + # Copyright 2018 The gRPC authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,13 +18,10 @@ <%include file="../../apt_get_basic.include"/> <%include file="../../gcp_api_libraries.include"/> - - # Install Python Versions from Debian 'testing' repository - RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list - RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local - RUN apt-get update && apt-get -t testing install -y python2.7 python3.7 python-all-dev python3-all-dev + <%include file="../../apt_get_python_27.include"/> + <%include file="../../debian_testing_repo.include"/> - RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 + RUN apt-get update && apt-get -t testing install -y python3.7 python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 <%include file="../../run_tests_addons.include"/> diff --git a/tools/dockerfile/test/python_pyenv_x64/Dockerfile b/tools/dockerfile/test/python_stretch_27_x64/Dockerfile similarity index 52% rename from tools/dockerfile/test/python_pyenv_x64/Dockerfile rename to tools/dockerfile/test/python_stretch_27_x64/Dockerfile index d94ccc8c742..cd7a08ef2e1 100644 --- a/tools/dockerfile/test/python_pyenv_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_27_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2016 gRPC authors. +# Copyright 2018 The gRPC authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -53,49 +53,9 @@ RUN apt-get update && apt-get install -y time && apt-get clean 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 - -# Install dependencies for pyenv -RUN apt-get update && apt-get install -y \ - libbz2-dev \ - libncurses5-dev \ - libncursesw5-dev \ - libreadline-dev \ - libsqlite3-dev \ - libssl-dev \ - llvm \ - mercurial \ - zlib1g-dev && apt-get clean - -# Install Pyenv and dev Python versions 3.{5,6,7} -RUN curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash -ENV PATH /root/.pyenv/bin:$PATH -RUN eval "$(pyenv init -)" -RUN eval "$(pyenv virtualenv-init -)" -RUN pyenv update -RUN pyenv install 3.5-dev -RUN pyenv install 3.6-dev -RUN pyenv install 3.7-dev -RUN pyenv install pypy-5.3.1 -RUN pyenv local 3.5-dev 3.6-dev 3.7-dev pypy-5.3.1 - -# Install pip and virtualenv for Python 3.5 -RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 -RUN python3.5 -m pip install virtualenv - +# Install Python 2.7 +RUN apt-get update && apt-get install -y python2.7 python-all-dev +RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 RUN mkdir /var/local/jenkins diff --git a/tools/dockerfile/test/python_jessie_x64/Dockerfile b/tools/dockerfile/test/python_stretch_34_x64/Dockerfile similarity index 73% rename from tools/dockerfile/test/python_jessie_x64/Dockerfile rename to tools/dockerfile/test/python_stretch_34_x64/Dockerfile index a4c3a9f91e1..ed8fc93bef5 100644 --- a/tools/dockerfile/test/python_jessie_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_34_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015 gRPC authors. +# Copyright 2018 The gRPC authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM debian:jessie +FROM debian:stretch # Install Git and basic packages. RUN apt-get update && apt-get install -y \ @@ -53,24 +53,12 @@ RUN apt-get update && apt-get install -y time && apt-get clean 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 Python 2.7 +RUN apt-get update && apt-get install -y python2.7 python-all-dev +RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 -# 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 - -# Install pip and virtualenv for Python 3.4 +RUN apt-get update && apt-get install -y python3.4 python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python3.4 -RUN python3.4 -m pip install virtualenv RUN mkdir /var/local/jenkins diff --git a/tools/dockerfile/test/python_stretch_35_x64/Dockerfile b/tools/dockerfile/test/python_stretch_35_x64/Dockerfile index fa4d3b820f0..a42e3bf1720 100644 --- a/tools/dockerfile/test/python_stretch_35_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_35_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2018 gRPC authors. +# Copyright 2018 The gRPC authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -53,10 +53,11 @@ RUN apt-get update && apt-get install -y time && apt-get clean RUN apt-get update && apt-get install -y python-pip && apt-get clean RUN pip install --upgrade google-api-python-client oauth2client - -RUN apt-get update && apt-get install -y python2.7 python3.5 python-all-dev python3-all-dev - +# Install Python 2.7 +RUN apt-get update && apt-get install -y python2.7 python-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 + +RUN apt-get update && apt-get install -y python3.5 python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 diff --git a/tools/dockerfile/test/python_stretch_36_x64/Dockerfile b/tools/dockerfile/test/python_stretch_36_x64/Dockerfile index 988ecd9bf6b..d028af611d4 100644 --- a/tools/dockerfile/test/python_stretch_36_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_36_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2018 gRPC authors. +# Copyright 2018 The gRPC authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -53,13 +53,15 @@ RUN apt-get update && apt-get install -y time && apt-get clean RUN apt-get update && apt-get install -y python-pip && apt-get clean RUN pip install --upgrade google-api-python-client oauth2client - -# Install Python Versions from Debian 'testing' repository +# Install Python 2.7 +RUN apt-get update && apt-get install -y python2.7 python-all-dev +RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 +# Add Debian 'testing' repository RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local -RUN apt-get update && apt-get -t testing install -y python2.7 python3.6 python-all-dev python3-all-dev -RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 + +RUN apt-get update && apt-get -t testing install -y python3.6 python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6 diff --git a/tools/dockerfile/test/python_stretch_37_x64/Dockerfile b/tools/dockerfile/test/python_stretch_37_x64/Dockerfile index 6da3379ed03..bc8ad1130cd 100644 --- a/tools/dockerfile/test/python_stretch_37_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_37_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2018 gRPC authors. +# Copyright 2018 The gRPC authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -53,13 +53,15 @@ RUN apt-get update && apt-get install -y time && apt-get clean RUN apt-get update && apt-get install -y python-pip && apt-get clean RUN pip install --upgrade google-api-python-client oauth2client - -# Install Python Versions from Debian 'testing' repository +# Install Python 2.7 +RUN apt-get update && apt-get install -y python2.7 python-all-dev +RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 +# Add Debian 'testing' repository RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local -RUN apt-get update && apt-get -t testing install -y python2.7 python3.7 python-all-dev python3-all-dev -RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 + +RUN apt-get update && apt-get -t testing install -y python3.7 python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 86a46c10c92..4329557b40d 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -759,16 +759,15 @@ class PythonLanguage(object): self.python_manager_name(), _docker_arch_suffix(self.args.arch)) def python_manager_name(self): - if self.args.compiler == 'python3.5': - return 'stretch_35' - elif self.args.compiler == 'python3.6': - return 'stretch_36' - elif self.args.compiler == 'python3.7': - return 'stretch_37' + if self.args.compiler in [ + 'python2.7', 'python3.4', 'python3.5', 'python3.6', 'python3.7' + ]: + return 'stretch_%s' % re.sub(r'\D*', '', self.args.compiler) elif self.args.compiler == 'python_alpine': return 'alpine' else: - return 'jessie' + raise ValueError("No Docker Python manager available for %s" % + self.args.compiler) def _get_pythons(self, args): if args.arch == 'x86': From a8658d919284ed8fac992e7682c0bf9ffb951abe Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Tue, 23 Oct 2018 13:29:24 -0700 Subject: [PATCH 09/12] Put `jessie` back for Python3.4 * According to `https://packages.debian.org/jessie/python/python3.4` the Python3.4 has security issues. * Debian `stretch` doesn't include Python3.4 packages in their repo --- .../dockerfile/apt_get_python_27.include | 2 +- .../python_jessie_x64/Dockerfile.template | 28 +++++++ .../test/python_jessie_x64/Dockerfile | 79 +++++++++++++++++++ .../test/python_stretch_27_x64/Dockerfile | 1 + .../test/python_stretch_34_x64/Dockerfile | 1 + .../test/python_stretch_35_x64/Dockerfile | 1 + .../test/python_stretch_36_x64/Dockerfile | 1 + .../test/python_stretch_37_x64/Dockerfile | 1 + tools/run_tests/run_tests.py | 5 +- 9 files changed, 115 insertions(+), 4 deletions(-) create mode 100644 templates/tools/dockerfile/test/python_jessie_x64/Dockerfile.template create mode 100644 tools/dockerfile/test/python_jessie_x64/Dockerfile diff --git a/templates/tools/dockerfile/apt_get_python_27.include b/templates/tools/dockerfile/apt_get_python_27.include index c7642d8c79b..4ee37ef11fb 100644 --- a/templates/tools/dockerfile/apt_get_python_27.include +++ b/templates/tools/dockerfile/apt_get_python_27.include @@ -1,3 +1,3 @@ # Install Python 2.7 RUN apt-get update && apt-get install -y python2.7 python-all-dev -RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 \ No newline at end of file +RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 diff --git a/templates/tools/dockerfile/test/python_jessie_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_jessie_x64/Dockerfile.template new file mode 100644 index 00000000000..e73b839a284 --- /dev/null +++ b/templates/tools/dockerfile/test/python_jessie_x64/Dockerfile.template @@ -0,0 +1,28 @@ +%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:jessie + + <%include file="../../apt_get_basic.include"/> + <%include file="../../gcp_api_libraries.include"/> + <%include file="../../python_deps.include"/> + # Install pip and virtualenv for Python 3.4 + RUN curl https://bootstrap.pypa.io/get-pip.py | python3.4 + RUN python3.4 -m pip install virtualenv + + <%include file="../../run_tests_addons.include"/> + # Define the default command. + CMD ["bash"] diff --git a/tools/dockerfile/test/python_jessie_x64/Dockerfile b/tools/dockerfile/test/python_jessie_x64/Dockerfile new file mode 100644 index 00000000000..a4c3a9f91e1 --- /dev/null +++ b/tools/dockerfile/test/python_jessie_x64/Dockerfile @@ -0,0 +1,79 @@ +# 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:jessie + +# 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 + +# Install pip and virtualenv for Python 3.4 +RUN curl https://bootstrap.pypa.io/get-pip.py | python3.4 +RUN python3.4 -m pip install virtualenv + + +RUN mkdir /var/local/jenkins + +# Define the default command. +CMD ["bash"] diff --git a/tools/dockerfile/test/python_stretch_27_x64/Dockerfile b/tools/dockerfile/test/python_stretch_27_x64/Dockerfile index cd7a08ef2e1..f24deea7b1d 100644 --- a/tools/dockerfile/test/python_stretch_27_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_27_x64/Dockerfile @@ -57,6 +57,7 @@ RUN pip install --upgrade google-api-python-client oauth2client RUN apt-get update && apt-get install -y python2.7 python-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 + RUN mkdir /var/local/jenkins # Define the default command. diff --git a/tools/dockerfile/test/python_stretch_34_x64/Dockerfile b/tools/dockerfile/test/python_stretch_34_x64/Dockerfile index ed8fc93bef5..3a53d85d865 100644 --- a/tools/dockerfile/test/python_stretch_34_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_34_x64/Dockerfile @@ -57,6 +57,7 @@ RUN pip install --upgrade google-api-python-client oauth2client RUN apt-get update && apt-get install -y python2.7 python-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 + RUN apt-get update && apt-get install -y python3.4 python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python3.4 diff --git a/tools/dockerfile/test/python_stretch_35_x64/Dockerfile b/tools/dockerfile/test/python_stretch_35_x64/Dockerfile index a42e3bf1720..7235951b64c 100644 --- a/tools/dockerfile/test/python_stretch_35_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_35_x64/Dockerfile @@ -57,6 +57,7 @@ RUN pip install --upgrade google-api-python-client oauth2client RUN apt-get update && apt-get install -y python2.7 python-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 + RUN apt-get update && apt-get install -y python3.5 python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 diff --git a/tools/dockerfile/test/python_stretch_36_x64/Dockerfile b/tools/dockerfile/test/python_stretch_36_x64/Dockerfile index d028af611d4..a940e487519 100644 --- a/tools/dockerfile/test/python_stretch_36_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_36_x64/Dockerfile @@ -56,6 +56,7 @@ RUN pip install --upgrade google-api-python-client oauth2client # Install Python 2.7 RUN apt-get update && apt-get install -y python2.7 python-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 + # Add Debian 'testing' repository RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local diff --git a/tools/dockerfile/test/python_stretch_37_x64/Dockerfile b/tools/dockerfile/test/python_stretch_37_x64/Dockerfile index bc8ad1130cd..aba25e7dc33 100644 --- a/tools/dockerfile/test/python_stretch_37_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_37_x64/Dockerfile @@ -56,6 +56,7 @@ RUN pip install --upgrade google-api-python-client oauth2client # Install Python 2.7 RUN apt-get update && apt-get install -y python2.7 python-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 + # Add Debian 'testing' repository RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 4329557b40d..5dcdd3700c8 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -760,14 +760,13 @@ class PythonLanguage(object): def python_manager_name(self): if self.args.compiler in [ - 'python2.7', 'python3.4', 'python3.5', 'python3.6', 'python3.7' + 'python2.7', 'python3.5', 'python3.6', 'python3.7' ]: return 'stretch_%s' % re.sub(r'\D*', '', self.args.compiler) elif self.args.compiler == 'python_alpine': return 'alpine' else: - raise ValueError("No Docker Python manager available for %s" % - self.args.compiler) + return 'jessie' def _get_pythons(self, args): if args.arch == 'x86': From b18abf21d6d72acc0bec201f4caef9afd738532c Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Tue, 23 Oct 2018 17:18:47 -0700 Subject: [PATCH 10/12] Uppercase `Authors` --- .../dockerfile/test/python_stretch_27_x64/Dockerfile.template | 2 +- .../dockerfile/test/python_stretch_34_x64/Dockerfile.template | 2 +- .../dockerfile/test/python_stretch_35_x64/Dockerfile.template | 2 +- .../dockerfile/test/python_stretch_36_x64/Dockerfile.template | 2 +- .../dockerfile/test/python_stretch_37_x64/Dockerfile.template | 2 +- tools/dockerfile/test/python_stretch_27_x64/Dockerfile | 2 +- tools/dockerfile/test/python_stretch_34_x64/Dockerfile | 2 +- tools/dockerfile/test/python_stretch_35_x64/Dockerfile | 2 +- tools/dockerfile/test/python_stretch_36_x64/Dockerfile | 2 +- tools/dockerfile/test/python_stretch_37_x64/Dockerfile | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/templates/tools/dockerfile/test/python_stretch_27_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_27_x64/Dockerfile.template index 067d68bc37b..a371929330b 100644 --- a/templates/tools/dockerfile/test/python_stretch_27_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_27_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2018 The gRPC authors + # Copyright 2018 The gRPC Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/templates/tools/dockerfile/test/python_stretch_34_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_34_x64/Dockerfile.template index 6fe4fc4b679..43ac7025afd 100644 --- a/templates/tools/dockerfile/test/python_stretch_34_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_34_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2018 The gRPC authors + # Copyright 2018 The gRPC Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template index e339bb5ced9..e313db754a9 100644 --- a/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2018 The gRPC authors + # Copyright 2018 The gRPC Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template index 7db3b7609e2..ce6a4b37261 100644 --- a/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2018 The gRPC authors + # Copyright 2018 The gRPC Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template index 7fb27980293..9901e8a6ba0 100644 --- a/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2018 The gRPC authors + # Copyright 2018 The gRPC Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/tools/dockerfile/test/python_stretch_27_x64/Dockerfile b/tools/dockerfile/test/python_stretch_27_x64/Dockerfile index f24deea7b1d..0cd873454f5 100644 --- a/tools/dockerfile/test/python_stretch_27_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_27_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2018 The gRPC authors +# Copyright 2018 The gRPC Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/tools/dockerfile/test/python_stretch_34_x64/Dockerfile b/tools/dockerfile/test/python_stretch_34_x64/Dockerfile index 3a53d85d865..f73a12f996d 100644 --- a/tools/dockerfile/test/python_stretch_34_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_34_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2018 The gRPC authors +# Copyright 2018 The gRPC Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/tools/dockerfile/test/python_stretch_35_x64/Dockerfile b/tools/dockerfile/test/python_stretch_35_x64/Dockerfile index 7235951b64c..a534467c8b7 100644 --- a/tools/dockerfile/test/python_stretch_35_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_35_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2018 The gRPC authors +# Copyright 2018 The gRPC Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/tools/dockerfile/test/python_stretch_36_x64/Dockerfile b/tools/dockerfile/test/python_stretch_36_x64/Dockerfile index a940e487519..d64a96d9569 100644 --- a/tools/dockerfile/test/python_stretch_36_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_36_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2018 The gRPC authors +# Copyright 2018 The gRPC Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/tools/dockerfile/test/python_stretch_37_x64/Dockerfile b/tools/dockerfile/test/python_stretch_37_x64/Dockerfile index aba25e7dc33..843a68ee643 100644 --- a/tools/dockerfile/test/python_stretch_37_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_37_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2018 The gRPC authors +# Copyright 2018 The gRPC Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. From a82ba64943e2a25abd967a0096df31b0bb0ad0b0 Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Tue, 23 Oct 2018 19:48:24 -0700 Subject: [PATCH 11/12] Pack templates into a concentrated one --- .../tools/dockerfile/python_stretch.include | 9 +++ .../python_stretch_27_x64/Dockerfile.template | 11 +-- .../python_stretch_34_x64/Dockerfile.template | 28 -------- .../python_stretch_35_x64/Dockerfile.template | 14 +--- .../python_stretch_36_x64/Dockerfile.template | 13 +--- .../python_stretch_37_x64/Dockerfile.template | 13 +--- .../test/python_stretch_27_x64/Dockerfile | 7 +- .../test/python_stretch_34_x64/Dockerfile | 68 ------------------- .../test/python_stretch_35_x64/Dockerfile | 12 ++-- .../test/python_stretch_36_x64/Dockerfile | 10 +-- .../test/python_stretch_37_x64/Dockerfile | 10 +-- 11 files changed, 42 insertions(+), 153 deletions(-) create mode 100644 templates/tools/dockerfile/python_stretch.include delete mode 100644 templates/tools/dockerfile/test/python_stretch_34_x64/Dockerfile.template delete mode 100644 tools/dockerfile/test/python_stretch_34_x64/Dockerfile diff --git a/templates/tools/dockerfile/python_stretch.include b/templates/tools/dockerfile/python_stretch.include new file mode 100644 index 00000000000..45bafe51842 --- /dev/null +++ b/templates/tools/dockerfile/python_stretch.include @@ -0,0 +1,9 @@ +FROM debian:stretch + +<%include file="./apt_get_basic.include"/> +<%include file="./gcp_api_libraries.include"/> +<%include file="./apt_get_python_27.include"/> +<%include file="./debian_testing_repo.include"/> +<%include file="./run_tests_addons.include"/> +# Define the default command. +CMD ["bash"] diff --git a/templates/tools/dockerfile/test/python_stretch_27_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_27_x64/Dockerfile.template index a371929330b..a1c9d9f84d5 100644 --- a/templates/tools/dockerfile/test/python_stretch_27_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_27_x64/Dockerfile.template @@ -13,12 +13,5 @@ # 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:stretch - - <%include file="../../apt_get_basic.include"/> - <%include file="../../gcp_api_libraries.include"/> - <%include file="../../apt_get_python_27.include"/> - <%include file="../../run_tests_addons.include"/> - # Define the default command. - CMD ["bash"] + + <%include file="../../python_stretch.include"/> diff --git a/templates/tools/dockerfile/test/python_stretch_34_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_34_x64/Dockerfile.template deleted file mode 100644 index 43ac7025afd..00000000000 --- a/templates/tools/dockerfile/test/python_stretch_34_x64/Dockerfile.template +++ /dev/null @@ -1,28 +0,0 @@ -%YAML 1.2 ---- | - # Copyright 2018 The 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:stretch - - <%include file="../../apt_get_basic.include"/> - <%include file="../../gcp_api_libraries.include"/> - <%include file="../../apt_get_python_27.include"/> - - RUN apt-get update && apt-get install -y python3.4 python3-all-dev - RUN curl https://bootstrap.pypa.io/get-pip.py | python3.4 - - <%include file="../../run_tests_addons.include"/> - # Define the default command. - CMD ["bash"] diff --git a/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template index e313db754a9..93b655ea0df 100644 --- a/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template @@ -13,16 +13,8 @@ # 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:stretch - - <%include file="../../apt_get_basic.include"/> - <%include file="../../gcp_api_libraries.include"/> - <%include file="../../apt_get_python_27.include"/> - + + <%include file="../../python_stretch.include"/> + RUN apt-get update && apt-get install -y python3.5 python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 - - <%include file="../../run_tests_addons.include"/> - # Define the default command. - CMD ["bash"] diff --git a/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template index ce6a4b37261..a5dcf196f2b 100644 --- a/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template @@ -13,17 +13,8 @@ # 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:stretch - - <%include file="../../apt_get_basic.include"/> - <%include file="../../gcp_api_libraries.include"/> - <%include file="../../apt_get_python_27.include"/> - <%include file="../../debian_testing_repo.include"/> + + <%include file="../../python_stretch.include"/> RUN apt-get update && apt-get -t testing install -y python3.6 python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6 - - <%include file="../../run_tests_addons.include"/> - # Define the default command. - CMD ["bash"] diff --git a/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template index 9901e8a6ba0..ff342db493b 100644 --- a/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template @@ -13,17 +13,8 @@ # 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:stretch - - <%include file="../../apt_get_basic.include"/> - <%include file="../../gcp_api_libraries.include"/> - <%include file="../../apt_get_python_27.include"/> - <%include file="../../debian_testing_repo.include"/> + + <%include file="../../python_stretch.include"/> RUN apt-get update && apt-get -t testing install -y python3.7 python3-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 - - <%include file="../../run_tests_addons.include"/> - # Define the default command. - CMD ["bash"] diff --git a/tools/dockerfile/test/python_stretch_27_x64/Dockerfile b/tools/dockerfile/test/python_stretch_27_x64/Dockerfile index 0cd873454f5..a7a8174db48 100644 --- a/tools/dockerfile/test/python_stretch_27_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_27_x64/Dockerfile @@ -13,7 +13,7 @@ # limitations under the License. FROM debian:stretch - + # Install Git and basic packages. RUN apt-get update && apt-get install -y \ autoconf \ @@ -57,8 +57,13 @@ RUN pip install --upgrade google-api-python-client oauth2client RUN apt-get update && apt-get install -y python2.7 python-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 +# Add Debian 'testing' repository +RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list +RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local + RUN mkdir /var/local/jenkins # Define the default command. CMD ["bash"] + diff --git a/tools/dockerfile/test/python_stretch_34_x64/Dockerfile b/tools/dockerfile/test/python_stretch_34_x64/Dockerfile deleted file mode 100644 index f73a12f996d..00000000000 --- a/tools/dockerfile/test/python_stretch_34_x64/Dockerfile +++ /dev/null @@ -1,68 +0,0 @@ -# Copyright 2018 The 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:stretch - -# 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 - -# Install Python 2.7 -RUN apt-get update && apt-get install -y python2.7 python-all-dev -RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 - - -RUN apt-get update && apt-get install -y python3.4 python3-all-dev -RUN curl https://bootstrap.pypa.io/get-pip.py | python3.4 - - -RUN mkdir /var/local/jenkins - -# Define the default command. -CMD ["bash"] diff --git a/tools/dockerfile/test/python_stretch_35_x64/Dockerfile b/tools/dockerfile/test/python_stretch_35_x64/Dockerfile index a534467c8b7..0e97e77e2fd 100644 --- a/tools/dockerfile/test/python_stretch_35_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_35_x64/Dockerfile @@ -13,7 +13,7 @@ # limitations under the License. FROM debian:stretch - + # Install Git and basic packages. RUN apt-get update && apt-get install -y \ autoconf \ @@ -57,12 +57,16 @@ RUN pip install --upgrade google-api-python-client oauth2client RUN apt-get update && apt-get install -y python2.7 python-all-dev RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7 - -RUN apt-get update && apt-get install -y python3.5 python3-all-dev -RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 +# Add Debian 'testing' repository +RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources.list +RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local RUN mkdir /var/local/jenkins # Define the default command. CMD ["bash"] + + +RUN apt-get update && apt-get install -y python3.5 python3-all-dev +RUN curl https://bootstrap.pypa.io/get-pip.py | python3.5 diff --git a/tools/dockerfile/test/python_stretch_36_x64/Dockerfile b/tools/dockerfile/test/python_stretch_36_x64/Dockerfile index d64a96d9569..9b16b2d3a1d 100644 --- a/tools/dockerfile/test/python_stretch_36_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_36_x64/Dockerfile @@ -13,7 +13,7 @@ # limitations under the License. FROM debian:stretch - + # Install Git and basic packages. RUN apt-get update && apt-get install -y \ autoconf \ @@ -62,11 +62,11 @@ RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources. RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local -RUN apt-get update && apt-get -t testing install -y python3.6 python3-all-dev -RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6 - - RUN mkdir /var/local/jenkins # Define the default command. CMD ["bash"] + + +RUN apt-get update && apt-get -t testing install -y python3.6 python3-all-dev +RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6 diff --git a/tools/dockerfile/test/python_stretch_37_x64/Dockerfile b/tools/dockerfile/test/python_stretch_37_x64/Dockerfile index 843a68ee643..add1cc509db 100644 --- a/tools/dockerfile/test/python_stretch_37_x64/Dockerfile +++ b/tools/dockerfile/test/python_stretch_37_x64/Dockerfile @@ -13,7 +13,7 @@ # limitations under the License. FROM debian:stretch - + # Install Git and basic packages. RUN apt-get update && apt-get install -y \ autoconf \ @@ -62,11 +62,11 @@ RUN echo 'deb http://ftp.de.debian.org/debian testing main' >> /etc/apt/sources. RUN echo 'APT::Default-Release "stable";' | tee -a /etc/apt/apt.conf.d/00local -RUN apt-get update && apt-get -t testing install -y python3.7 python3-all-dev -RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 - - RUN mkdir /var/local/jenkins # Define the default command. CMD ["bash"] + + +RUN apt-get update && apt-get -t testing install -y python3.7 python3-all-dev +RUN curl https://bootstrap.pypa.io/get-pip.py | python3.7 From a62344e56ab43a0fa9fd382e7e465751261b4a39 Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Tue, 23 Oct 2018 20:01:17 -0700 Subject: [PATCH 12/12] Rename the Dockerfiles --- .../Dockerfile.template | 0 .../Dockerfile.template | 0 .../Dockerfile.template | 0 .../Dockerfile.template | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../Dockerfile | 0 .../Dockerfile | 0 tools/run_tests/run_tests.py | 2 +- 9 files changed, 1 insertion(+), 1 deletion(-) rename templates/tools/dockerfile/test/{python_stretch_27_x64 => python_stretch_2.7_x64}/Dockerfile.template (100%) rename templates/tools/dockerfile/test/{python_stretch_35_x64 => python_stretch_3.5_x64}/Dockerfile.template (100%) rename templates/tools/dockerfile/test/{python_stretch_36_x64 => python_stretch_3.6_x64}/Dockerfile.template (100%) rename templates/tools/dockerfile/test/{python_stretch_37_x64 => python_stretch_3.7_x64}/Dockerfile.template (100%) rename tools/dockerfile/test/{python_stretch_27_x64 => python_stretch_2.7_x64}/Dockerfile (100%) rename tools/dockerfile/test/{python_stretch_35_x64 => python_stretch_3.5_x64}/Dockerfile (100%) rename tools/dockerfile/test/{python_stretch_36_x64 => python_stretch_3.6_x64}/Dockerfile (100%) rename tools/dockerfile/test/{python_stretch_37_x64 => python_stretch_3.7_x64}/Dockerfile (100%) diff --git a/templates/tools/dockerfile/test/python_stretch_27_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_2.7_x64/Dockerfile.template similarity index 100% rename from templates/tools/dockerfile/test/python_stretch_27_x64/Dockerfile.template rename to templates/tools/dockerfile/test/python_stretch_2.7_x64/Dockerfile.template diff --git a/templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_3.5_x64/Dockerfile.template similarity index 100% rename from templates/tools/dockerfile/test/python_stretch_35_x64/Dockerfile.template rename to templates/tools/dockerfile/test/python_stretch_3.5_x64/Dockerfile.template diff --git a/templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_3.6_x64/Dockerfile.template similarity index 100% rename from templates/tools/dockerfile/test/python_stretch_36_x64/Dockerfile.template rename to templates/tools/dockerfile/test/python_stretch_3.6_x64/Dockerfile.template diff --git a/templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_stretch_3.7_x64/Dockerfile.template similarity index 100% rename from templates/tools/dockerfile/test/python_stretch_37_x64/Dockerfile.template rename to templates/tools/dockerfile/test/python_stretch_3.7_x64/Dockerfile.template diff --git a/tools/dockerfile/test/python_stretch_27_x64/Dockerfile b/tools/dockerfile/test/python_stretch_2.7_x64/Dockerfile similarity index 100% rename from tools/dockerfile/test/python_stretch_27_x64/Dockerfile rename to tools/dockerfile/test/python_stretch_2.7_x64/Dockerfile diff --git a/tools/dockerfile/test/python_stretch_35_x64/Dockerfile b/tools/dockerfile/test/python_stretch_3.5_x64/Dockerfile similarity index 100% rename from tools/dockerfile/test/python_stretch_35_x64/Dockerfile rename to tools/dockerfile/test/python_stretch_3.5_x64/Dockerfile diff --git a/tools/dockerfile/test/python_stretch_36_x64/Dockerfile b/tools/dockerfile/test/python_stretch_3.6_x64/Dockerfile similarity index 100% rename from tools/dockerfile/test/python_stretch_36_x64/Dockerfile rename to tools/dockerfile/test/python_stretch_3.6_x64/Dockerfile diff --git a/tools/dockerfile/test/python_stretch_37_x64/Dockerfile b/tools/dockerfile/test/python_stretch_3.7_x64/Dockerfile similarity index 100% rename from tools/dockerfile/test/python_stretch_37_x64/Dockerfile rename to tools/dockerfile/test/python_stretch_3.7_x64/Dockerfile diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 5dcdd3700c8..b7ed529762a 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -762,7 +762,7 @@ class PythonLanguage(object): if self.args.compiler in [ 'python2.7', 'python3.5', 'python3.6', 'python3.7' ]: - return 'stretch_%s' % re.sub(r'\D*', '', self.args.compiler) + return 'stretch_' + self.args.compiler[len('python'):] elif self.args.compiler == 'python_alpine': return 'alpine' else: