diff options
Diffstat (limited to 'tools/dockerfile')
7 files changed, 104 insertions, 3 deletions
diff --git a/tools/dockerfile/OWNERS b/tools/dockerfile/OWNERS new file mode 100644 index 0000000000..db4ab546a6 --- /dev/null +++ b/tools/dockerfile/OWNERS @@ -0,0 +1,11 @@ +set noparent + +# These owners are in place to ensure that dockerfiles are changed in a way +# that maximizes use of docker cache when rebuilding and that the docker images +# are fast to build and sane in general. +# Also, push_testing_images.sh needs to be used upon changing the docker images +# for kokoro to be able to access the pre-built images. + +@jtattermusch +@matt-kwong +@nicolasnoble diff --git a/tools/dockerfile/grpc_artifact_python_manylinux_x64/Dockerfile b/tools/dockerfile/grpc_artifact_python_manylinux_x64/Dockerfile index 1d1131f4fa..6f61e17b4a 100644 --- a/tools/dockerfile/grpc_artifact_python_manylinux_x64/Dockerfile +++ b/tools/dockerfile/grpc_artifact_python_manylinux_x64/Dockerfile @@ -22,7 +22,7 @@ RUN yum update -y ############################################################# # Update Git to allow cloning submodules with --reference arg RUN yum remove -y git -RUN yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc +RUN yum install -y curl-devel expat-devel gettext-devel linux-headers openssl-devel zlib-devel gcc RUN cd /usr/src && \ curl -O -L https://kernel.org/pub/software/scm/git/git-2.0.5.tar.gz && \ tar xzf git-2.0.5.tar.gz diff --git a/tools/dockerfile/grpc_artifact_python_manylinux_x86/Dockerfile b/tools/dockerfile/grpc_artifact_python_manylinux_x86/Dockerfile index 381c0d0ac6..5c3c35188f 100644 --- a/tools/dockerfile/grpc_artifact_python_manylinux_x86/Dockerfile +++ b/tools/dockerfile/grpc_artifact_python_manylinux_x86/Dockerfile @@ -22,7 +22,7 @@ RUN yum update -y ############################################################# # Update Git to allow cloning submodules with --reference arg RUN yum remove -y git -RUN yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc +RUN yum install -y curl-devel expat-devel gettext-devel linux-headers openssl-devel zlib-devel gcc RUN cd /usr/src && \ curl -O -L https://kernel.org/pub/software/scm/git/git-2.0.5.tar.gz && \ tar xzf git-2.0.5.tar.gz diff --git a/tools/dockerfile/grpc_clang_tidy/clang_tidy_all_the_things.sh b/tools/dockerfile/grpc_clang_tidy/clang_tidy_all_the_things.sh index 1a82dd52b7..e1932ed0bf 100755 --- a/tools/dockerfile/grpc_clang_tidy/clang_tidy_all_the_things.sh +++ b/tools/dockerfile/grpc_clang_tidy/clang_tidy_all_the_things.sh @@ -20,5 +20,5 @@ CLANG_TIDY=${CLANG_TIDY:-clang-tidy-5.0} cd ${CLANG_TIDY_ROOT} -find src/core src/cpp test/core test/cpp -name '*.h' -or -name '*.cc' -print0 \ +find src/core src/cpp test/core test/cpp -name '*.h' -print0 -or -name '*.cc' -print0 \ | xargs -0 tools/distrib/run_clang_tidy.py "$@" diff --git a/tools/dockerfile/test/cxx_alpine_x64/Dockerfile b/tools/dockerfile/test/cxx_alpine_x64/Dockerfile index 13a0ea1002..8e5403fdfd 100644 --- a/tools/dockerfile/test/cxx_alpine_x64/Dockerfile +++ b/tools/dockerfile/test/cxx_alpine_x64/Dockerfile @@ -26,6 +26,7 @@ RUN apk update && apk add \ gcc \ git \ libtool \ + linux-headers \ make \ perl \ strace \ diff --git a/tools/dockerfile/test/cxx_ubuntu1710_x64/Dockerfile b/tools/dockerfile/test/cxx_ubuntu1710_x64/Dockerfile new file mode 100644 index 0000000000..11aca1766e --- /dev/null +++ b/tools/dockerfile/test/cxx_ubuntu1710_x64/Dockerfile @@ -0,0 +1,88 @@ +# 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 ubuntu:17.10 + +# 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 + +#==================== +# 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==9.0.1 +RUN pip install virtualenv +RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.5.0.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 + +# Prepare ccache +RUN ln -s /usr/bin/ccache /usr/local/bin/gcc +RUN ln -s /usr/bin/ccache /usr/local/bin/g++ +RUN ln -s /usr/bin/ccache /usr/local/bin/cc +RUN ln -s /usr/bin/ccache /usr/local/bin/c++ +RUN ln -s /usr/bin/ccache /usr/local/bin/clang +RUN ln -s /usr/bin/ccache /usr/local/bin/clang++ + + +RUN mkdir /var/local/jenkins + + +# Define the default command. +CMD ["bash"] diff --git a/tools/dockerfile/test/python_alpine_x64/Dockerfile b/tools/dockerfile/test/python_alpine_x64/Dockerfile index 87acef9cb6..8ae4550c4f 100644 --- a/tools/dockerfile/test/python_alpine_x64/Dockerfile +++ b/tools/dockerfile/test/python_alpine_x64/Dockerfile @@ -26,6 +26,7 @@ RUN apk update && apk add \ gcc \ git \ libtool \ + linux-headers \ make \ perl \ strace \ |