diff options
Diffstat (limited to 'tools/dockerfile')
-rw-r--r-- | tools/dockerfile/grpc_clang/Dockerfile | 32 | ||||
-rw-r--r-- | tools/dockerfile/grpc_cxx/Dockerfile | 2 | ||||
-rw-r--r-- | tools/dockerfile/grpc_go/Dockerfile | 8 | ||||
-rw-r--r-- | tools/dockerfile/grpc_java/Dockerfile | 2 | ||||
-rw-r--r-- | tools/dockerfile/grpc_java_base/Dockerfile | 3 | ||||
-rw-r--r-- | tools/dockerfile/grpc_node_base/Dockerfile | 4 | ||||
-rw-r--r-- | tools/dockerfile/grpc_php_base/Dockerfile | 2 | ||||
-rw-r--r-- | tools/dockerfile/grpc_python/Dockerfile | 38 | ||||
-rw-r--r-- | tools/dockerfile/grpc_python/README.md | 11 | ||||
-rw-r--r-- | tools/dockerfile/grpc_python_base/Dockerfile | 20 | ||||
-rw-r--r-- | tools/dockerfile/grpc_python_base/README.md | 7 | ||||
-rw-r--r-- | tools/dockerfile/grpc_ruby/Dockerfile | 2 | ||||
-rw-r--r-- | tools/dockerfile/grpc_ruby_base/Dockerfile | 2 |
13 files changed, 121 insertions, 12 deletions
diff --git a/tools/dockerfile/grpc_clang/Dockerfile b/tools/dockerfile/grpc_clang/Dockerfile new file mode 100644 index 0000000000..0928121755 --- /dev/null +++ b/tools/dockerfile/grpc_clang/Dockerfile @@ -0,0 +1,32 @@ +FROM ubuntu:latest + +RUN apt-get update && apt-get install -y \ + cmake \ + g++ \ + gcc \ + git \ + make \ + python \ + && apt-get clean + +RUN git clone -b release_36 http://llvm.org/git/llvm.git +RUN git clone -b release_36 http://llvm.org/git/clang.git +RUN git clone -b release_36 http://llvm.org/git/compiler-rt.git +RUN git clone -b release_36 http://llvm.org/git/clang-tools-extra.git +RUN git clone -b release_36 http://llvm.org/git/libcxx.git +RUN git clone -b release_36 http://llvm.org/git/libcxxabi.git + +RUN mv clang llvm/tools +RUN mv compiler-rt llvm/projects +RUN mv clang-tools-extra llvm/tools/clang/tools +RUN mv libcxx llvm/projects +RUN mv libcxxabi llvm/projects + +RUN mkdir llvm-build +RUN cd llvm-build && cmake \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DLLVM_TARGETS_TO_BUILD:STRING=X86 \ + ../llvm +RUN make -C llvm-build && make -C llvm-build install && rm -rf llvm-build + +CMD ["bash"] diff --git a/tools/dockerfile/grpc_cxx/Dockerfile b/tools/dockerfile/grpc_cxx/Dockerfile index 9b20e7a58e..e1ddfcb2da 100644 --- a/tools/dockerfile/grpc_cxx/Dockerfile +++ b/tools/dockerfile/grpc_cxx/Dockerfile @@ -4,7 +4,7 @@ FROM grpc/base RUN apt-get update && apt-get -y install libgflags-dev libgtest-dev # Get the source from GitHub -RUN git clone git@github.com:google/grpc.git /var/local/git/grpc +RUN git clone git@github.com:grpc/grpc.git /var/local/git/grpc RUN cd /var/local/git/grpc && \ git pull --recurse-submodules && \ git submodule update --init --recursive diff --git a/tools/dockerfile/grpc_go/Dockerfile b/tools/dockerfile/grpc_go/Dockerfile index 1b998152a7..42620ff3cf 100644 --- a/tools/dockerfile/grpc_go/Dockerfile +++ b/tools/dockerfile/grpc_go/Dockerfile @@ -17,11 +17,11 @@ RUN echo 'StrictHostKeyChecking no' >> $HOME/.ssh/config RUN git config --global url."git@github.com:".insteadOf "https://github.com/" # Get the source from GitHub -RUN go get github.com/google/grpc-go/rpc +RUN go get google.golang.org/grpc # Build the interop client and server -RUN cd src/github.com/google/grpc-go/rpc/interop/client && go install -RUN cd src/github.com/google/grpc-go/rpc/interop/server && go install +RUN cd src/google.golang.org/grpc/interop/client && go install +RUN cd src/google.golang.org/grpc/interop/server && go install # Specify the default command such that the interop server runs on its known testing port -CMD ["/bin/bash", "-c", "cd src/github.com/google/grpc-go/rpc/interop/server && go run server.go --use_tls=true --port=8020"] +CMD ["/bin/bash", "-c", "cd src/google.golang.org/grpc/interop/server && go run server.go --use_tls=true --port=8020"] diff --git a/tools/dockerfile/grpc_java/Dockerfile b/tools/dockerfile/grpc_java/Dockerfile index a5508cad7f..17682c63f0 100644 --- a/tools/dockerfile/grpc_java/Dockerfile +++ b/tools/dockerfile/grpc_java/Dockerfile @@ -1,7 +1,7 @@ # Dockerfile for the gRPC Java dev image FROM grpc/java_base -RUN git clone --recursive --depth 1 git@github.com:google/grpc-java.git /var/local/git/grpc-java +RUN git clone --recursive --depth 1 git@github.com:grpc/grpc-java.git /var/local/git/grpc-java RUN cd /var/local/git/grpc-java/lib/netty && \ mvn -pl codec-http2 -am -DskipTests install clean RUN cd /var/local/git/grpc-java && \ diff --git a/tools/dockerfile/grpc_java_base/Dockerfile b/tools/dockerfile/grpc_java_base/Dockerfile index 5dbd781f7b..6031be484a 100644 --- a/tools/dockerfile/grpc_java_base/Dockerfile +++ b/tools/dockerfile/grpc_java_base/Dockerfile @@ -34,11 +34,12 @@ RUN wget -O - https://github.com/google/protobuf/archive/master.tar.gz | \ # Install a GitHub SSH service credential that gives access to the GitHub repo while it's private # TODO: remove this once the repo is public COPY .ssh/github.rsa /root/.ssh/id_rsa +RUN chmod 600 /root/.ssh/id_rsa RUN echo 'Host github.com\nStrictHostKeyChecking no' > /root/.ssh/config # Trigger download of as many Maven and Gradle artifacts as possible. We don't build grpc-java # because we don't want to install netty -RUN git clone --recursive --depth 1 git@github.com:google/grpc-java.git && \ +RUN git clone --recursive --depth 1 git@github.com:grpc/grpc-java.git && \ cd grpc-java/lib/netty && \ mvn -pl codec-http2 -am -DskipTests verify && \ cd ../.. && \ diff --git a/tools/dockerfile/grpc_node_base/Dockerfile b/tools/dockerfile/grpc_node_base/Dockerfile index 28bd7b2556..20efde98ad 100644 --- a/tools/dockerfile/grpc_node_base/Dockerfile +++ b/tools/dockerfile/grpc_node_base/Dockerfile @@ -10,7 +10,7 @@ RUN apt-get update && apt-get install -y nodejs RUN npm install -g node-gyp # Get the source from GitHub, this gets the protobuf library as well -RUN git clone git@github.com:google/grpc.git /var/local/git/grpc +RUN git clone git@github.com:grpc/grpc.git /var/local/git/grpc RUN cd /var/local/git/grpc && \ git pull --recurse-submodules && \ git submodule update --init --recursive @@ -19,4 +19,4 @@ RUN cd /var/local/git/grpc && \ RUN make static_c shared_c -j12 -C /var/local/git/grpc # Define the default command. -CMD ["bash"]
\ No newline at end of file +CMD ["bash"] diff --git a/tools/dockerfile/grpc_php_base/Dockerfile b/tools/dockerfile/grpc_php_base/Dockerfile index ef58f3a887..f4bf3b09a4 100644 --- a/tools/dockerfile/grpc_php_base/Dockerfile +++ b/tools/dockerfile/grpc_php_base/Dockerfile @@ -62,7 +62,7 @@ ENV PATH /usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/s RUN rvm all do gem install ronn rake # Get the source from GitHub, this gets the protobuf library as well -RUN git clone git@github.com:google/grpc.git /var/local/git/grpc +RUN git clone git@github.com:grpc/grpc.git /var/local/git/grpc RUN cd /var/local/git/grpc && \ git pull --recurse-submodules && \ git submodule update --init --recursive diff --git a/tools/dockerfile/grpc_python/Dockerfile b/tools/dockerfile/grpc_python/Dockerfile new file mode 100644 index 0000000000..2390ed7bcf --- /dev/null +++ b/tools/dockerfile/grpc_python/Dockerfile @@ -0,0 +1,38 @@ +# Dockerfile for GRPC Python +FROM grpc/python_base + +# Build the C library +RUN cd /var/local/git/grpc \ + && git pull --recurse-submodules \ + && git submodule update --init --recursive + +# Build the C core. +RUN make install_c -C /var/local/git/grpc + +# Build Python GRPC +RUN cd /var/local/git/grpc \ + && pip install src/python/src \ + && pip install src/python/interop + +# Run Python GRPC's tests +RUN cd /var/local/git/grpc \ + # TODO(nathaniel): It would be nice for these to be auto-discoverable? + && python2.7 -B -m _adapter._blocking_invocation_inline_service_test + && python2.7 -B -m _adapter._c_test + && python2.7 -B -m _adapter._event_invocation_synchronous_event_service_test + && python2.7 -B -m _adapter._future_invocation_asynchronous_event_service_test + && python2.7 -B -m _adapter._links_test + && python2.7 -B -m _adapter._lonely_rear_link_test + && python2.7 -B -m _adapter._low_test + && python2.7 -B -m _framework.base.packets.implementations_test + && python2.7 -B -m _framework.face.blocking_invocation_inline_service_test + && python2.7 -B -m _framework.face.event_invocation_synchronous_event_service_test + && python2.7 -B -m _framework.face.future_invocation_asynchronous_event_service_test + && python2.7 -B -m _framework.foundation._later_test + && python2.7 -B -m _framework.foundation._logging_pool_test + +# Add a cacerts directory containing the Google root pem file, allowing the interop client to access the production test instance +ADD cacerts cacerts + +# Specify the default command such that the interop server runs on its known testing port +CMD ["/bin/bash", "-l", "-c", "python2.7 -m interop.server --use_tls --port 8050"] diff --git a/tools/dockerfile/grpc_python/README.md b/tools/dockerfile/grpc_python/README.md new file mode 100644 index 0000000000..efbdbeff82 --- /dev/null +++ b/tools/dockerfile/grpc_python/README.md @@ -0,0 +1,11 @@ +GRPC Python Dockerfile +==================== + +Dockerfile for creating the Python development instances + +As of 2015/02 this +- is based on the GRPC Python base +- adds a pull of the HEAD GRPC Python source from GitHub +- builds it +- runs its tests and aborts image creation if the tests don't pass +- specifies the Python GRPC interop test server as default command diff --git a/tools/dockerfile/grpc_python_base/Dockerfile b/tools/dockerfile/grpc_python_base/Dockerfile new file mode 100644 index 0000000000..01292c2e12 --- /dev/null +++ b/tools/dockerfile/grpc_python_base/Dockerfile @@ -0,0 +1,20 @@ +# Base Dockerfile for GRPC Python. +# +# Includes Python environment and installation dependencies. +FROM grpc/base + +# Allows 'source' to work +RUN rm /bin/sh && ln -s /bin/bash /bin/sh + +# Install Python development +RUN apt-get update && apt-get install -y \ + python-all-dev \ + python3-all-dev \ + python-pip \ + python-virtualenv \ + +# Install Python packages from PyPI +RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.0.0-alpha-1 + +# Get the GRPC source from GitHub +RUN git clone --recursive git@github.com:google/grpc.git /var/local/git/grpc diff --git a/tools/dockerfile/grpc_python_base/README.md b/tools/dockerfile/grpc_python_base/README.md new file mode 100644 index 0000000000..1d4767ce5c --- /dev/null +++ b/tools/dockerfile/grpc_python_base/README.md @@ -0,0 +1,7 @@ +GRPC Python Base Dockerfile +======================== + +Dockerfile for creating the Python GRPC development Docker instance. + +As of 2015/02 this +- installs tools and dependencies needed to build GRPC Python diff --git a/tools/dockerfile/grpc_ruby/Dockerfile b/tools/dockerfile/grpc_ruby/Dockerfile index 47972e7eff..ff1b99ba37 100644 --- a/tools/dockerfile/grpc_ruby/Dockerfile +++ b/tools/dockerfile/grpc_ruby/Dockerfile @@ -6,7 +6,7 @@ RUN cd /var/local/git/grpc \ && git pull --recurse-submodules \ && git submodule update --init --recursive -# Build the C core. +# Build the C core RUN make install_c -C /var/local/git/grpc # Build ruby gRPC and run its tests diff --git a/tools/dockerfile/grpc_ruby_base/Dockerfile b/tools/dockerfile/grpc_ruby_base/Dockerfile index ec4544d2fd..a3a80daf9b 100644 --- a/tools/dockerfile/grpc_ruby_base/Dockerfile +++ b/tools/dockerfile/grpc_ruby_base/Dockerfile @@ -43,7 +43,7 @@ RUN /bin/bash -l -c "echo 'rvm --default use ruby-2.1' >> ~/.bashrc" RUN /bin/bash -l -c "gem install bundler --no-ri --no-rdoc" # Get the source from GitHub -RUN git clone git@github.com:google/grpc.git /var/local/git/grpc +RUN git clone git@github.com:grpc/grpc.git /var/local/git/grpc RUN cd /var/local/git/grpc && \ git pull --recurse-submodules && \ git submodule update --init --recursive |