diff --git a/examples/ruby/greeter_client.rb b/examples/ruby/greeter_client.rb index e6cb4bad33e..2a243168709 100755 --- a/examples/ruby/greeter_client.rb +++ b/examples/ruby/greeter_client.rb @@ -1,6 +1,6 @@ #!/usr/bin/env ruby -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -41,7 +41,7 @@ require 'grpc' require 'helloworld_services' def main - stub = Helloworld::Greeter::Stub.new('localhost:50051') + stub = Helloworld::Greeter::Stub.new('localhost:50051', :this_channel_is_insecure) user = ARGV.size > 0 ? ARGV[0] : 'world' message = stub.say_hello(Helloworld::HelloRequest.new(name: user)).message p "Greeting: #{message}" diff --git a/examples/ruby/route_guide/route_guide_client.rb b/examples/ruby/route_guide/route_guide_client.rb index baef0e502b5..715a3c08c58 100755 --- a/examples/ruby/route_guide/route_guide_client.rb +++ b/examples/ruby/route_guide/route_guide_client.rb @@ -1,6 +1,6 @@ #!/usr/bin/env ruby -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -147,7 +147,7 @@ def run_route_chat(stub) end def main - stub = RouteGuide::Stub.new('localhost:50051') + stub = RouteGuide::Stub.new('localhost:50051', :this_channel_is_insecure) run_get_feature(stub) run_list_features(stub) run_route_chat(stub) diff --git a/package.json b/package.json index 4083598971d..1b79ecf92dc 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "poisson-process": "^0.2.1" }, "engines": { - "node": ">=0.10.13" + "node": ">=0.12.0" }, "binary": { "module_name": "grpc_node", diff --git a/templates/package.json.template b/templates/package.json.template index ec444976eda..d6279b996e9 100644 --- a/templates/package.json.template +++ b/templates/package.json.template @@ -47,7 +47,7 @@ "poisson-process": "^0.2.1" }, "engines": { - "node": ">=0.10.13" + "node": ">=0.12.0" }, "binary": { "module_name": "grpc_node", diff --git a/test/distrib/ruby/Gemfile b/test/distrib/ruby/Gemfile new file mode 100644 index 00000000000..96e68e9c34a --- /dev/null +++ b/test/distrib/ruby/Gemfile @@ -0,0 +1,11 @@ +# -*- ruby -*- +# encoding: utf-8 + +source 'https://rubygems.org/' + +# TODO(jtattermusch): don't hardcode the absolute path the local gem source +source "file:///var/local/git/grpc/gem_source" do + gem 'grpc' +end + +gemspec diff --git a/test/distrib/ruby/distribtest.gemspec b/test/distrib/ruby/distribtest.gemspec new file mode 100644 index 00000000000..d72892f46c3 --- /dev/null +++ b/test/distrib/ruby/distribtest.gemspec @@ -0,0 +1,19 @@ +# -*- ruby -*- +# encoding: utf-8 + +Gem::Specification.new do |s| + s.name = 'distribtest' + s.version = '0.0.1' + s.authors = ['gRPC Authors'] + s.email = 'jtattermusch@google.com' + s.homepage = 'https://github.com/grpc/grpc' + s.summary = 'gRPC Distribution test' + + s.files = ['distribtest.rb'] + s.executables = ['distribtest.rb'] + s.platform = Gem::Platform::RUBY + + s.add_dependency 'grpc', '>=0' + + s.add_development_dependency 'bundler', '~> 1.7' +end diff --git a/test/distrib/ruby/distribtest.rb b/test/distrib/ruby/distribtest.rb new file mode 100755 index 00000000000..3f656a89f3a --- /dev/null +++ b/test/distrib/ruby/distribtest.rb @@ -0,0 +1,39 @@ +#!/usr/bin/env ruby + +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +require 'grpc' + +# This code doesn't do much but makes sure the native extension is loaded +# which is what we are testing here. +ch = GRPC::Core::Channel.new('localhost:1000', nil, :this_channel_is_insecure) +ch.destroy + +puts "Success!" diff --git a/test/distrib/ruby/run_distrib_test.sh b/test/distrib/ruby/run_distrib_test.sh index ae409f8dc5e..be60e44b639 100755 --- a/test/distrib/ruby/run_distrib_test.sh +++ b/test/distrib/ruby/run_distrib_test.sh @@ -32,5 +32,13 @@ set -ex cd $(dirname $0) -# do something ruby-ish +# Create an indexed local gem source with gRPC gems to test +GEM_SOURCE=../../../gem_source +mkdir -p ${GEM_SOURCE}/gems +cp -r $EXTERNAL_GIT_ROOT/input_artifacts/*.gem ${GEM_SOURCE}/gems +gem install builder +gem generate_index --directory ${GEM_SOURCE} +bundle install + +bundle exec ./distribtest.rb diff --git a/tools/dockerfile/distribtest/ruby_centos6_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_centos6_x64/Dockerfile index fd2cf63a59e..f65b8690d7e 100644 --- a/tools/dockerfile/distribtest/ruby_centos6_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_centos6_x64/Dockerfile @@ -29,4 +29,13 @@ FROM centos:6 -RUN yum install -y ruby +RUN yum install -y curl + +RUN yum install -y tar which + +# Install rvm +RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 +RUN \curl -sSL https://get.rvm.io | bash -s stable --ruby + +RUN /bin/bash -l -c "echo '. /etc/profile.d/rvm.sh' >> ~/.bashrc" +RUN /bin/bash -l -c "gem install --update bundler" diff --git a/tools/dockerfile/distribtest/ruby_centos7_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_centos7_x64/Dockerfile index 5bb9bd6fa64..85650201fb9 100644 --- a/tools/dockerfile/distribtest/ruby_centos7_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_centos7_x64/Dockerfile @@ -30,3 +30,5 @@ FROM centos:7 RUN yum install -y ruby + +RUN gem install bundler diff --git a/tools/dockerfile/distribtest/ruby_fedora20_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_fedora20_x64/Dockerfile index 9f23be986f1..437337ed9a2 100644 --- a/tools/dockerfile/distribtest/ruby_fedora20_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_fedora20_x64/Dockerfile @@ -30,3 +30,5 @@ FROM fedora:20 RUN yum clean all && yum update -y && yum install -y ruby + +RUN gem install bundler diff --git a/tools/dockerfile/distribtest/ruby_fedora21_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_fedora21_x64/Dockerfile index 57106a48946..598dac5a112 100644 --- a/tools/dockerfile/distribtest/ruby_fedora21_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_fedora21_x64/Dockerfile @@ -30,3 +30,5 @@ FROM fedora:21 RUN yum clean all && yum update -y && yum install -y ruby + +RUN gem install bundler diff --git a/tools/dockerfile/distribtest/ruby_fedora22_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_fedora22_x64/Dockerfile index d770177381e..58d3d9341a7 100644 --- a/tools/dockerfile/distribtest/ruby_fedora22_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_fedora22_x64/Dockerfile @@ -30,3 +30,5 @@ FROM fedora:22 RUN yum clean all && yum update -y && yum install -y ruby + +RUN gem install bundler diff --git a/tools/dockerfile/distribtest/ruby_fedora23_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_fedora23_x64/Dockerfile index 2c9b78ed080..9f07f51e566 100644 --- a/tools/dockerfile/distribtest/ruby_fedora23_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_fedora23_x64/Dockerfile @@ -30,3 +30,5 @@ FROM fedora:23 RUN yum clean all && yum update -y && yum install -y ruby + +RUN gem install bundler diff --git a/tools/dockerfile/distribtest/ruby_jessie_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_jessie_x64/Dockerfile index 4784bd73b41..cc377b7a589 100644 --- a/tools/dockerfile/distribtest/ruby_jessie_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_jessie_x64/Dockerfile @@ -30,3 +30,5 @@ FROM debian:jessie RUN apt-get update && apt-get install -y ruby-full + +RUN gem install bundler diff --git a/tools/dockerfile/distribtest/ruby_jessie_x86/Dockerfile b/tools/dockerfile/distribtest/ruby_jessie_x86/Dockerfile index 4f649cbc034..3fe3e2bdced 100644 --- a/tools/dockerfile/distribtest/ruby_jessie_x86/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_jessie_x86/Dockerfile @@ -30,3 +30,5 @@ FROM 32bit/debian:jessie RUN apt-get update && apt-get install -y ruby-full + +RUN gem install bundler diff --git a/tools/dockerfile/distribtest/ruby_opensuse_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_opensuse_x64/Dockerfile index a2499509984..c98d6911a38 100644 --- a/tools/dockerfile/distribtest/ruby_opensuse_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_opensuse_x64/Dockerfile @@ -29,4 +29,17 @@ FROM opensuse:42.1 -RUN zypper --non-interactive install ruby +RUN zypper --non-interactive install curl + +RUN zypper --non-interactive install tar which + +RUN zypper --non-interactive install ca-certificates-mozilla + +# Install rvm +RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 +RUN \curl -sSL https://get.rvm.io | bash -s stable --ruby + +# OpenSUSE is a bit crazy and ignores .bashrc for login shell. +RUN /bin/bash -l -c "echo '. /etc/profile.d/rvm.sh' >> ~/.profile" + +RUN /bin/bash -l -c 'gem install --update bundler' diff --git a/tools/dockerfile/distribtest/ruby_ubuntu1204_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_ubuntu1204_x64/Dockerfile index 95b7702afb7..782368bf8d1 100644 --- a/tools/dockerfile/distribtest/ruby_ubuntu1204_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_ubuntu1204_x64/Dockerfile @@ -29,4 +29,11 @@ FROM ubuntu:12.04 -RUN apt-get update -y && apt-get install -y ruby-full +RUN apt-get update -y && apt-get install -y curl + +# Install rvm +RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 +RUN \curl -sSL https://get.rvm.io | bash -s stable --ruby + +RUN /bin/bash -l -c "echo '. /etc/profile.d/rvm.sh' >> ~/.bashrc" +RUN /bin/bash -l -c "gem install --update bundler" diff --git a/tools/dockerfile/distribtest/ruby_ubuntu1404_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_ubuntu1404_x64/Dockerfile index 66ba01d37ed..53fb4d5ab5e 100644 --- a/tools/dockerfile/distribtest/ruby_ubuntu1404_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_ubuntu1404_x64/Dockerfile @@ -29,4 +29,11 @@ FROM ubuntu:14.04 -RUN apt-get update -y && apt-get install -y ruby-full +RUN apt-get update -y && apt-get install -y curl + +# Install rvm +RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 +RUN \curl -sSL https://get.rvm.io | bash -s stable --ruby + +RUN /bin/bash -l -c "echo '. /etc/profile.d/rvm.sh' >> ~/.bashrc" +RUN /bin/bash -l -c "gem install --update bundler" diff --git a/tools/dockerfile/distribtest/ruby_ubuntu1504_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_ubuntu1504_x64/Dockerfile index 81e7ca1d3c0..3225166e635 100644 --- a/tools/dockerfile/distribtest/ruby_ubuntu1504_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_ubuntu1504_x64/Dockerfile @@ -30,3 +30,5 @@ FROM ubuntu:15.04 RUN apt-get update -y && apt-get install -y ruby-full + +RUN gem install bundler diff --git a/tools/dockerfile/distribtest/ruby_ubuntu1510_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_ubuntu1510_x64/Dockerfile index 37b897f0f55..df93360a641 100644 --- a/tools/dockerfile/distribtest/ruby_ubuntu1510_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_ubuntu1510_x64/Dockerfile @@ -30,3 +30,5 @@ FROM ubuntu:15.10 RUN apt-get update -y && apt-get install -y ruby-full + +RUN gem install bundler diff --git a/tools/dockerfile/distribtest/ruby_ubuntu1604_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_ubuntu1604_x64/Dockerfile index 5c54b8f7546..f0c2e80ac64 100644 --- a/tools/dockerfile/distribtest/ruby_ubuntu1604_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_ubuntu1604_x64/Dockerfile @@ -30,3 +30,5 @@ FROM ubuntu:16.04 RUN apt-get update -y && apt-get install -y ruby-full + +RUN gem install bundler diff --git a/tools/dockerfile/distribtest/ruby_wheezy_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_wheezy_x64/Dockerfile index 2e6593c230d..ee4e0fc5de1 100644 --- a/tools/dockerfile/distribtest/ruby_wheezy_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_wheezy_x64/Dockerfile @@ -29,4 +29,13 @@ FROM debian:wheezy -RUN apt-get update && apt-get install -y ruby-full +RUN apt-get update && apt-get install -y curl + +RUN apt-get update && apt-get install -y procps + +# Install rvm +RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 +RUN \curl -sSL https://get.rvm.io | bash -s stable --ruby + +RUN /bin/bash -l -c "echo '. /etc/profile.d/rvm.sh' >> ~/.bashrc" +RUN /bin/bash -l -c "gem install --update bundler" diff --git a/tools/run_tests/build_artifact_node.bat b/tools/run_tests/build_artifact_node.bat index f150bb158a2..84c63c28a25 100644 --- a/tools/run_tests/build_artifact_node.bat +++ b/tools/run_tests/build_artifact_node.bat @@ -27,7 +27,7 @@ @rem (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE @rem OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -set node_versions=0.10.41 0.12.0 1.0.0 1.1.0 2.0.0 3.0.0 4.0.0 5.0.0 +set node_versions=0.12.0 1.0.0 1.1.0 2.0.0 3.0.0 4.0.0 5.0.0 set PATH=%PATH%;C:\Program Files\nodejs\;%APPDATA%\npm diff --git a/tools/run_tests/build_artifact_node.sh b/tools/run_tests/build_artifact_node.sh index 8aeec79d087..9a3b9bd1baf 100755 --- a/tools/run_tests/build_artifact_node.sh +++ b/tools/run_tests/build_artifact_node.sh @@ -42,7 +42,7 @@ mkdir -p artifacts npm update -node_versions=( 0.10.41 0.12.0 1.0.0 1.1.0 2.0.0 3.0.0 4.0.0 5.0.0 ) +node_versions=( 0.12.0 1.0.0 1.1.0 2.0.0 3.0.0 4.0.0 5.0.0 ) for version in ${node_versions[@]} do diff --git a/tools/run_tests/distribtest_targets.py b/tools/run_tests/distribtest_targets.py index a46917c71e5..b26a8707781 100644 --- a/tools/run_tests/distribtest_targets.py +++ b/tools/run_tests/distribtest_targets.py @@ -246,5 +246,5 @@ def targets(): NodeDistribTest('linux', 'x64', os, version) for os in ('wheezy', 'jessie', 'ubuntu1204', 'ubuntu1404', 'ubuntu1504', 'ubuntu1510', 'ubuntu1604') - for version in ('0.10', '0.12', '3', '4', '5') + for version in ('0.12', '3', '4', '5') ]