d71f43c1aed33749c6732422bc74b2c22ebbbb45
[platform/upstream/grpc.git] / tools / dockerfile / interoptest / grpc_interop_node / Dockerfile
1 # Copyright 2015 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 FROM debian:jessie
16
17
18 # Install Git and basic packages.
19 RUN apt-get update && apt-get install -y \
20   autoconf \
21   autotools-dev \
22   build-essential \
23   bzip2 \
24   ccache \
25   curl \
26   dnsutils \
27   gcc \
28   gcc-multilib \
29   git \
30   golang \
31   gyp \
32   lcov \
33   libc6 \
34   libc6-dbg \
35   libc6-dev \
36   libgtest-dev \
37   libtool \
38   make \
39   perl \
40   strace \
41   python-dev \
42   python-setuptools \
43   python-yaml \
44   telnet \
45   unzip \
46   wget \
47   zip && apt-get clean
48
49 #================
50 # Build profiling
51 RUN apt-get update && apt-get install -y time && apt-get clean
52
53 #====================
54 # Python dependencies
55
56 # Install dependencies
57
58 RUN apt-get update && apt-get install -y \
59     python-all-dev \
60     python3-all-dev \
61     python-setuptools
62
63 # Install Python packages from PyPI
64 RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7
65 RUN pip install --upgrade pip==19.3.1
66 RUN pip install virtualenv==16.7.9
67 RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.5.2.post1 six==1.15.0 twisted==17.5.0
68
69 #==================
70 # Node dependencies
71
72 # Install nvm
73 RUN touch .profile
74 RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | bash
75 # Install all versions of node that we want to test
76 RUN /bin/bash -l -c "nvm install 4 && npm config set cache /tmp/npm-cache"
77 RUN /bin/bash -l -c "nvm install 5 && npm config set cache /tmp/npm-cache"
78 RUN /bin/bash -l -c "nvm install 6 && npm config set cache /tmp/npm-cache"
79 RUN /bin/bash -l -c "nvm install 8 && npm config set cache /tmp/npm-cache"
80 RUN /bin/bash -l -c "nvm install 9 && npm config set cache /tmp/npm-cache"
81 RUN /bin/bash -l -c "nvm install 10 && npm config set cache /tmp/npm-cache"
82 RUN /bin/bash -l -c "nvm alias default 10"
83
84 RUN mkdir /var/local/jenkins
85
86 # Define the default command.
87 CMD ["bash"]