From ca3798a8cb13f13ed6dea65d0b91399c1634967d Mon Sep 17 00:00:00 2001 From: Alexander Polcyn Date: Tue, 31 Oct 2017 18:14:06 -0700 Subject: [PATCH] Add ruby distrib tests that uses ruby 2.0.0 --- .../ruby_jessie_x64_ruby_2_0_0/Dockerfile | 40 +++++++++++++++++++ .../artifacts/distribtest_targets.py | 14 +++++-- 2 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 tools/dockerfile/distribtest/ruby_jessie_x64_ruby_2_0_0/Dockerfile diff --git a/tools/dockerfile/distribtest/ruby_jessie_x64_ruby_2_0_0/Dockerfile b/tools/dockerfile/distribtest/ruby_jessie_x64_ruby_2_0_0/Dockerfile new file mode 100644 index 00000000000..ff43c92c9e5 --- /dev/null +++ b/tools/dockerfile/distribtest/ruby_jessie_x64_ruby_2_0_0/Dockerfile @@ -0,0 +1,40 @@ +# Copyright 2015 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM debian:jessie + +# Install Git and basic packages. +RUN apt-get update && apt-get install -y \ + curl \ + gcc && apt-get clean + +#================== +# Ruby dependencies + +# Install rvm +RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 +RUN \curl -sSL https://get.rvm.io | bash -s stable + +# Install Ruby 2.1 +RUN /bin/bash -l -c "rvm install ruby-2.0" +RUN /bin/bash -l -c "rvm use --default ruby-2.0" +RUN /bin/bash -l -c "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc" +RUN /bin/bash -l -c "echo 'export PATH=/usr/local/rvm/bin:$PATH' >> ~/.bashrc" +RUN /bin/bash -l -c "echo 'rvm --default use ruby-2.0' >> ~/.bashrc" +RUN /bin/bash -l -c "gem install bundler --no-ri --no-rdoc" + +RUN mkdir /var/local/jenkins + +# Define the default command. +CMD ["bash"] diff --git a/tools/run_tests/artifacts/distribtest_targets.py b/tools/run_tests/artifacts/distribtest_targets.py index b2cc16acd42..fdf094cd011 100644 --- a/tools/run_tests/artifacts/distribtest_targets.py +++ b/tools/run_tests/artifacts/distribtest_targets.py @@ -174,11 +174,13 @@ class PythonDistribTest(object): class RubyDistribTest(object): """Tests Ruby package""" - def __init__(self, platform, arch, docker_suffix): - self.name = 'ruby_%s_%s_%s' % (platform, arch, docker_suffix) + def __init__(self, platform, arch, docker_suffix, ruby_version=None): + self.name = 'ruby_%s_%s_%s_version_%s' % (platform, arch, docker_suffix, + ruby_version or 'unspecified') self.platform = platform self.arch = arch self.docker_suffix = docker_suffix + self.ruby_version = ruby_version self.labels = ['distribtest', 'ruby', platform, arch, docker_suffix] def pre_build_jobspecs(self): @@ -192,10 +194,13 @@ class RubyDistribTest(object): if not self.platform == 'linux': raise Exception("Not supported yet.") + dockerfile_name = 'tools/dockerfile/distribtest/ruby_%s_%s' % ( + self.docker_suffix, self.arch) + if self.ruby_version is not None: + dockerfile_name += '_%s' % self.ruby_version return create_docker_jobspec( self.name, - 'tools/dockerfile/distribtest/ruby_%s_%s' % (self.docker_suffix, - self.arch), + dockerfile_name, 'test/distrib/ruby/run_distrib_test.sh %s %s' % (arch_to_gem_arch[self.arch], self.platform), copy_rel_path='test/distrib') @@ -314,6 +319,7 @@ def targets(): RubyDistribTest('linux', 'x64', 'wheezy'), RubyDistribTest('linux', 'x64', 'jessie'), RubyDistribTest('linux', 'x86', 'jessie'), + RubyDistribTest('linux', 'x64', 'jessie', ruby_version='ruby_2_0_0'), RubyDistribTest('linux', 'x64', 'centos6'), RubyDistribTest('linux', 'x64', 'centos7'), RubyDistribTest('linux', 'x64', 'fedora20'),