From 75c27789026375122a33043833a25e5b935c906f Mon Sep 17 00:00:00 2001 From: Matt Kwong Date: Mon, 18 Sep 2017 17:11:48 -0700 Subject: [PATCH] Update Dockerfiles from ubuntu:15.10 to debian:jessie --- .../tools/dockerfile/clang_format.include | 6 ++-- .../grpc_clang_format/Dockerfile.template | 3 +- .../test/sanity/Dockerfile.template | 27 ++++++++++----- tools/dockerfile/grpc_clang_format/Dockerfile | 8 ++--- tools/dockerfile/test/sanity/Dockerfile | 33 ++++++++++++------- 5 files changed, 48 insertions(+), 29 deletions(-) diff --git a/templates/tools/dockerfile/clang_format.include b/templates/tools/dockerfile/clang_format.include index 9a2b60ba8c4..81bd2be797b 100644 --- a/templates/tools/dockerfile/clang_format.include +++ b/templates/tools/dockerfile/clang_format.include @@ -1,5 +1,5 @@ RUN apt-get update && apt-get -y install wget -RUN echo deb http://llvm.org/apt/wily/ llvm-toolchain-wily-3.8 main >> /etc/apt/sources.list -RUN echo deb-src http://llvm.org/apt/wily/ llvm-toolchain-wily-3.8 main >> /etc/apt/sources.list -RUN wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key| apt-key add - +RUN echo "deb http://llvm.org/apt/jessie/ llvm-toolchain-jessie-3.8 main" >> /etc/apt/sources.list +RUN echo "deb-src http://llvm.org/apt/jessie/ llvm-toolchain-jessie-3.8 main" >> /etc/apt/sources.list +RUN wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | apt-key add - RUN apt-get update && apt-get -y install clang-format-3.8 diff --git a/templates/tools/dockerfile/grpc_clang_format/Dockerfile.template b/templates/tools/dockerfile/grpc_clang_format/Dockerfile.template index 69cd4034b04..1ab667c95d3 100644 --- a/templates/tools/dockerfile/grpc_clang_format/Dockerfile.template +++ b/templates/tools/dockerfile/grpc_clang_format/Dockerfile.template @@ -14,9 +14,10 @@ # See the License for the specific language governing permissions and # limitations under the License. - FROM ubuntu:15.10 + FROM debian:jessie <%include file="../clang_format.include"/> ADD clang_format_all_the_things.sh / CMD ["echo 'Run with tools/distrib/clang_format_code.sh'"] + \ No newline at end of file diff --git a/templates/tools/dockerfile/test/sanity/Dockerfile.template b/templates/tools/dockerfile/test/sanity/Dockerfile.template index 3f9ea322338..bf34c0ab0f1 100644 --- a/templates/tools/dockerfile/test/sanity/Dockerfile.template +++ b/templates/tools/dockerfile/test/sanity/Dockerfile.template @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. - FROM ubuntu:15.10 + FROM debian:jessie <%include file="../../apt_get_basic.include"/> <%include file="../../gcp_api_libraries.include"/> @@ -33,14 +33,23 @@ #====================================== # More sanity test dependencies (bazel) - RUN apt-get install -y openjdk-8-jdk - # Check out Bazel version 0.4.1 since this version allows running - # ./compile.sh without a local protoc dependency - # TODO(mattkwong): install dependencies to support latest Bazel version if newer - # version is needed - RUN git clone https://github.com/bazelbuild/bazel.git /bazel && ${"\\"} - cd /bazel && git checkout tags/0.4.1 && ./compile.sh - RUN ln -s /bazel/output/bazel /bin/ + RUN echo "deb http://http.debian.net/debian jessie-backports main" >> /etc/apt/sources.list + RUN apt-get update + RUN apt-get install -y -t jessie-backports openjdk-8-jdk + + #======================== + # Bazel installation + RUN echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" > /etc/apt/sources.list.d/bazel.list + RUN curl https://bazel.build/bazel-release.pub.gpg | apt-key add - + RUN apt-get -y update + RUN apt-get -y install bazel + + # Pin Bazel to 0.4.4 + # Installing Bazel via apt-get first is required before installing 0.4.4 to + # allow gRPC to build without errors. See https://github.com/grpc/grpc/issues/10553 + RUN curl -fSsL -O https://github.com/bazelbuild/bazel/releases/download/0.4.4/bazel-0.4.4-installer-linux-x86_64.sh + RUN chmod +x ./bazel-0.4.4-installer-linux-x86_64.sh + RUN ./bazel-0.4.4-installer-linux-x86_64.sh <%include file="../../clang_format.include"/> <%include file="../../run_tests_addons.include"/> diff --git a/tools/dockerfile/grpc_clang_format/Dockerfile b/tools/dockerfile/grpc_clang_format/Dockerfile index 647cb52a7b1..dff07feeb6d 100644 --- a/tools/dockerfile/grpc_clang_format/Dockerfile +++ b/tools/dockerfile/grpc_clang_format/Dockerfile @@ -12,12 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM ubuntu:15.10 +FROM debian:jessie RUN apt-get update && apt-get -y install wget -RUN echo deb http://llvm.org/apt/wily/ llvm-toolchain-wily-3.8 main >> /etc/apt/sources.list -RUN echo deb-src http://llvm.org/apt/wily/ llvm-toolchain-wily-3.8 main >> /etc/apt/sources.list -RUN wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key| apt-key add - +RUN echo "deb http://llvm.org/apt/jessie/ llvm-toolchain-jessie-3.8 main" >> /etc/apt/sources.list +RUN echo "deb-src http://llvm.org/apt/jessie/ llvm-toolchain-jessie-3.8 main" >> /etc/apt/sources.list +RUN wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | apt-key add - RUN apt-get update && apt-get -y install clang-format-3.8 ADD clang_format_all_the_things.sh / diff --git a/tools/dockerfile/test/sanity/Dockerfile b/tools/dockerfile/test/sanity/Dockerfile index 44732a5ae42..dff979dc371 100644 --- a/tools/dockerfile/test/sanity/Dockerfile +++ b/tools/dockerfile/test/sanity/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM ubuntu:15.10 +FROM debian:jessie # Install Git and basic packages. RUN apt-get update && apt-get install -y \ @@ -82,19 +82,28 @@ RUN pip install simplejson mako #====================================== # More sanity test dependencies (bazel) -RUN apt-get install -y openjdk-8-jdk -# Check out Bazel version 0.4.1 since this version allows running -# ./compile.sh without a local protoc dependency -# TODO(mattkwong): install dependencies to support latest Bazel version if newer -# version is needed -RUN git clone https://github.com/bazelbuild/bazel.git /bazel && \ - cd /bazel && git checkout tags/0.4.1 && ./compile.sh -RUN ln -s /bazel/output/bazel /bin/ +RUN echo "deb http://http.debian.net/debian jessie-backports main" >> /etc/apt/sources.list +RUN apt-get update +RUN apt-get install -y -t jessie-backports openjdk-8-jdk + +#======================== +# Bazel installation +RUN echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" > /etc/apt/sources.list.d/bazel.list +RUN curl https://bazel.build/bazel-release.pub.gpg | apt-key add - +RUN apt-get -y update +RUN apt-get -y install bazel + +# Pin Bazel to 0.4.4 +# Installing Bazel via apt-get first is required before installing 0.4.4 to +# allow gRPC to build without errors. See https://github.com/grpc/grpc/issues/10553 +RUN curl -fSsL -O https://github.com/bazelbuild/bazel/releases/download/0.4.4/bazel-0.4.4-installer-linux-x86_64.sh +RUN chmod +x ./bazel-0.4.4-installer-linux-x86_64.sh +RUN ./bazel-0.4.4-installer-linux-x86_64.sh RUN apt-get update && apt-get -y install wget -RUN echo deb http://llvm.org/apt/wily/ llvm-toolchain-wily-3.8 main >> /etc/apt/sources.list -RUN echo deb-src http://llvm.org/apt/wily/ llvm-toolchain-wily-3.8 main >> /etc/apt/sources.list -RUN wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key| apt-key add - +RUN echo "deb http://llvm.org/apt/jessie/ llvm-toolchain-jessie-3.8 main" >> /etc/apt/sources.list +RUN echo "deb-src http://llvm.org/apt/jessie/ llvm-toolchain-jessie-3.8 main" >> /etc/apt/sources.list +RUN wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | apt-key add - RUN apt-get update && apt-get -y install clang-format-3.8 # Prepare ccache