• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2018 gRPC authors.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15# This is the base Docker image we use for running tests on RBE
16FROM gcr.io/cloud-marketplace/google/rbe-debian8@sha256:1ede2a929b44d629ec5abe86eee6d7ffea1d5a4d247489a8867d46cfde3e38bd
17RUN sed -i '/deb http:\/\/httpredir.debian.org\/debian jessie-updates main/d' /etc/apt/sources.list
18
19# Install Git and basic packages.
20RUN apt-get update && apt-get install -y \
21  autoconf \
22  autotools-dev \
23  build-essential \
24  bzip2 \
25  ccache \
26  curl \
27  dnsutils \
28  gcc \
29  gcc-multilib \
30  git \
31  golang \
32  gyp \
33  lcov \
34  libc6 \
35  libc6-dbg \
36  libc6-dev \
37  libgtest-dev \
38  libtool \
39  make \
40  perl \
41  strace \
42  python-dev \
43  python-setuptools \
44  python-yaml \
45  telnet \
46  unzip \
47  wget \
48  zip && apt-get clean
49
50#================
51# Build profiling
52RUN apt-get update && apt-get install -y time && apt-get clean
53
54#====================
55# Python dependencies
56
57# Install dependencies
58
59RUN apt-get update && apt-get install -y \
60    python-all-dev \
61    python3-all-dev \
62    python-setuptools
63
64# Install Python packages from PyPI
65RUN curl https://bootstrap.pypa.io/get-pip.py | python2.7
66RUN pip install --upgrade pip==19.3.1
67RUN pip install virtualenv==16.7.9
68RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.5.2.post1 six==1.10.0 twisted==17.5.0
69
70# Google Cloud platform API libraries
71RUN pip install --upgrade google-api-python-client oauth2client
72
73#=================
74# C++ dependencies (purposely excluding Clang because it's part of the base image)
75RUN apt-get update && apt-get -y install libgflags-dev libgtest-dev libc++-dev && apt-get clean
76
77# Link llvm-symbolizer to where our test scripts expect to find it
78RUN ln -s /usr/local/bin/llvm-symbolizer /usr/bin/llvm-symbolizer
79
80# Define the default command.
81CMD ["bash"]
82