# Dockerfile for gRPC Ruby FROM grpc/ruby_base # Start the daemon that allows access to the protected git-on-borg repos RUN /var/local/git/gcompute-tools/git-cookie-authdaemon RUN cd /var/local/git/grpc \ && git pull --recurse-submodules \ && git submodule update --init --recursive RUN make install_c -C /var/local/git/grpc # Install the grpc gem locally with its dependencies and build the extension. RUN /bin/bash -l -c 'cd /var/local/git/beefcake && bundle && gem build beefcake.gemspec && gem install beefcake' RUN /bin/bash -l -c 'cd /var/local/git/grpc/src/ruby && bundle && rake compile:grpc && gem build grpc.gemspec && gem install grpc' # TODO add a command to run the unittest tests when the bug below is fixed # - the tests fail due to an error in the C threading library: # they fail with 'ruby: __pthread_mutex_cond_lock_adjust for unknown reasons' at the end of a testcase # - however, the interop server and client run OK, so this bug can be investigated # RUN /bin/bash -l -c 'cd /var/local/git/grpc/src/ruby && bundle && rake' # Specify the default command such that the interop server runs on its known testing port CMD ["/bin/bash", "-l", "-c", "ruby /var/local/git/grpc/src/ruby/bin/interop/interop_server.rb --port 8060"]