diff options
Diffstat (limited to 'tools/dockerfile/grpc_python')
-rw-r--r-- | tools/dockerfile/grpc_python/Dockerfile | 38 | ||||
-rw-r--r-- | tools/dockerfile/grpc_python/README.md | 11 |
2 files changed, 49 insertions, 0 deletions
diff --git a/tools/dockerfile/grpc_python/Dockerfile b/tools/dockerfile/grpc_python/Dockerfile new file mode 100644 index 0000000000..d434b47351 --- /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 grpc._adapter._blocking_invocation_inline_service_test + && python2.7 -B -m grpc._adapter._c_test + && python2.7 -B -m grpc._adapter._event_invocation_synchronous_event_service_test + && python2.7 -B -m grpc._adapter._future_invocation_asynchronous_event_service_test + && python2.7 -B -m grpc._adapter._links_test + && python2.7 -B -m grpc._adapter._lonely_rear_link_test + && python2.7 -B -m grpc._adapter._low_test + && python2.7 -B -m grpc._framework.base.packets.implementations_test + && python2.7 -B -m grpc._framework.face.blocking_invocation_inline_service_test + && python2.7 -B -m grpc._framework.face.event_invocation_synchronous_event_service_test + && python2.7 -B -m grpc._framework.face.future_invocation_asynchronous_event_service_test + && python2.7 -B -m grpc._framework.foundation._later_test + && python2.7 -B -m grpc._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 |