From 6d324b16ba5ba896b4fec1a11e56e5c11addeee6 Mon Sep 17 00:00:00 2001 From: apolcyn Date: Fri, 20 Jan 2023 11:35:14 -0800 Subject: [PATCH] Backport "[ruby] Undrop ruby 2.6 #32160" to v1.52.x (#32162) * Undrop ruby 2.6 --- Rakefile | 2 +- .../ruby_stretch_x64_ruby_2_6.current_version | 1 + .../ruby_stretch_x64_ruby_2_6/Dockerfile | 42 +++++++++++++++++++ .../artifacts/distribtest_targets.py | 6 +++ 4 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 tools/dockerfile/distribtest/ruby_stretch_x64_ruby_2_6.current_version create mode 100644 tools/dockerfile/distribtest/ruby_stretch_x64_ruby_2_6/Dockerfile diff --git a/Rakefile b/Rakefile index 98d6aef69cdf9..bc0fb496edfa2 100755 --- a/Rakefile +++ b/Rakefile @@ -144,7 +144,7 @@ task 'gem:native', [:plat] do |t, args| verbose = ENV['V'] || '0' grpc_config = ENV['GRPC_CONFIG'] || 'opt' - ruby_cc_versions = ['3.2.0', '3.1.0', '3.0.0', '2.7.0'].join(':') + ruby_cc_versions = ['3.2.0', '3.1.0', '3.0.0', '2.7.0', '2.6.10'].join(':') selected_plat = "#{args[:plat]}" # use env variable to set artifact build paralellism diff --git a/tools/dockerfile/distribtest/ruby_stretch_x64_ruby_2_6.current_version b/tools/dockerfile/distribtest/ruby_stretch_x64_ruby_2_6.current_version new file mode 100644 index 0000000000000..266b98f7ba2e8 --- /dev/null +++ b/tools/dockerfile/distribtest/ruby_stretch_x64_ruby_2_6.current_version @@ -0,0 +1 @@ +us-docker.pkg.dev/grpc-testing/testing-images-public/ruby_stretch_x64_ruby_2_6:4b215aa6d7029aaa63679881d54b8ca620e2d775@sha256:b9cc471908386767a9dbf3baffb7a67aa93c4cd1057c4ba8572c691c8ba4b3e6 \ No newline at end of file diff --git a/tools/dockerfile/distribtest/ruby_stretch_x64_ruby_2_6/Dockerfile b/tools/dockerfile/distribtest/ruby_stretch_x64_ruby_2_6/Dockerfile new file mode 100644 index 0000000000000..eea189f3c9719 --- /dev/null +++ b/tools/dockerfile/distribtest/ruby_stretch_x64_ruby_2_6/Dockerfile @@ -0,0 +1,42 @@ +# 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:stretch + +# Install Git and basic packages. +RUN apt-get update && apt-get install -y \ + gnupg2 \ + procps \ + curl \ + gcc && apt-get clean + +#================== +# Ruby dependencies + +# Install rvm +RUN gpg2 --keyserver hkp://keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB +RUN \curl -sSL https://get.rvm.io | bash -s stable + +# Install Ruby 2.6 +RUN /bin/bash -l -c "rvm install ruby-2.6.5" +RUN /bin/bash -l -c "rvm use --default ruby-2.6.5" +RUN /bin/bash -l -c "echo 'gem: --no-document' > ~/.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.6.5' >> ~/.bashrc" +RUN /bin/bash -l -c "gem install bundler --no-document" + +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 8f0561b524c58..963263f9c9139 100644 --- a/tools/run_tests/artifacts/distribtest_targets.py +++ b/tools/run_tests/artifacts/distribtest_targets.py @@ -431,6 +431,12 @@ def targets(): PythonDistribTest('linux', 'x64', 'arch', source=True), PythonDistribTest('linux', 'x64', 'ubuntu2004', source=True), # Ruby + RubyDistribTest('linux', + 'x64', + 'stretch', + ruby_version='ruby_2_6', + source=True, + presubmit=True), RubyDistribTest('linux', 'x64', 'stretch',