Add ruby distrib tests that uses ruby 2.0.0

pull/13206/head
Alexander Polcyn 8 years ago
parent 9490b0e6bd
commit ca3798a8cb
  1. 40
      tools/dockerfile/distribtest/ruby_jessie_x64_ruby_2_0_0/Dockerfile
  2. 14
      tools/run_tests/artifacts/distribtest_targets.py

@ -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"]

@ -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'),

Loading…
Cancel
Save