Cherry-pick fix from #9311 into 3.18.x (#9320)

* Dropped Ruby 2.4 support for CI and releases.

* Removed Kokoro configs for old Ruby versions.

* Update Dockerfile to allow it to be rebuilt

Co-authored-by: Joshua Haberman <jhaberman@gmail.com>
pull/9336/head^2
Adam Cozzette 3 years ago committed by GitHub
parent 8a0aa4b372
commit 1fe07f9ce2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      kokoro/linux/dockerfile/test/ruby/Dockerfile
  2. 18
      kokoro/linux/ruby23/build.sh
  3. 11
      kokoro/linux/ruby23/continuous.cfg
  4. 11
      kokoro/linux/ruby23/presubmit.cfg
  5. 18
      kokoro/linux/ruby24/build.sh
  6. 11
      kokoro/linux/ruby24/continuous.cfg
  7. 11
      kokoro/linux/ruby24/presubmit.cfg
  8. 12
      kokoro/macos/ruby23/build.sh
  9. 5
      kokoro/macos/ruby23/continuous.cfg
  10. 5
      kokoro/macos/ruby23/presubmit.cfg
  11. 12
      kokoro/macos/ruby24/build.sh
  12. 5
      kokoro/macos/ruby24/continuous.cfg
  13. 5
      kokoro/macos/ruby24/presubmit.cfg
  14. 2
      kokoro/release/ruby/macos/ruby/ruby_build_environment.sh
  15. 2
      ruby/Gemfile
  16. 4
      ruby/Rakefile

@ -23,13 +23,11 @@ RUN apt-get update && apt-get install -y \
&& apt-get clean && apt-get clean
# Install rvm # Install rvm
RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys \ RUN gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys \
409B6B1796C275462A1703113804BB82D39DC0E3 \ 409B6B1796C275462A1703113804BB82D39DC0E3 \
7D2BAF1CF37B13E2069D6956105BD0E739499BDB 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
RUN \curl -sSL https://get.rvm.io | bash -s master RUN \curl -sSL https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer | bash -s master
RUN /bin/bash -l -c "rvm install 2.3.8"
RUN /bin/bash -l -c "rvm install 2.4.5"
RUN /bin/bash -l -c "rvm install 2.5.1" RUN /bin/bash -l -c "rvm install 2.5.1"
RUN /bin/bash -l -c "rvm install 2.6.0" RUN /bin/bash -l -c "rvm install 2.6.0"
RUN /bin/bash -l -c "rvm install 2.7.0" RUN /bin/bash -l -c "rvm install 2.7.0"

@ -1,18 +0,0 @@
#!/bin/bash
#
# This is the top-level script we give to Kokoro as the entry point for
# running the "pull request" project:
#
# This script selects a specific Dockerfile (for building a Docker image) and
# a script to run inside that image. Then we delegate to the general
# build_and_run_docker.sh script.
# Change to repo root
cd $(dirname $0)/../../..
export DOCKERHUB_ORGANIZATION=protobuftesting
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/ruby
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh
export OUTPUT_DIR=testoutput
export TEST_SET="ruby23"
./kokoro/linux/build_and_run_docker.sh

@ -1,11 +0,0 @@
# Config file for running tests in Kokoro
# Location of the build script in repository
build_file: "protobuf/kokoro/linux/ruby23/build.sh"
timeout_mins: 120
action {
define_artifacts {
regex: "**/sponge_log.xml"
}
}

@ -1,11 +0,0 @@
# Config file for running tests in Kokoro
# Location of the build script in repository
build_file: "protobuf/kokoro/linux/ruby23/build.sh"
timeout_mins: 120
action {
define_artifacts {
regex: "**/sponge_log.xml"
}
}

@ -1,18 +0,0 @@
#!/bin/bash
#
# This is the top-level script we give to Kokoro as the entry point for
# running the "pull request" project:
#
# This script selects a specific Dockerfile (for building a Docker image) and
# a script to run inside that image. Then we delegate to the general
# build_and_run_docker.sh script.
# Change to repo root
cd $(dirname $0)/../../..
export DOCKERHUB_ORGANIZATION=protobuftesting
export DOCKERFILE_DIR=kokoro/linux/dockerfile/test/ruby
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh
export OUTPUT_DIR=testoutput
export TEST_SET="ruby24"
./kokoro/linux/build_and_run_docker.sh

@ -1,11 +0,0 @@
# Config file for running tests in Kokoro
# Location of the build script in repository
build_file: "protobuf/kokoro/linux/ruby24/build.sh"
timeout_mins: 120
action {
define_artifacts {
regex: "**/sponge_log.xml"
}
}

@ -1,11 +0,0 @@
# Config file for running tests in Kokoro
# Location of the build script in repository
build_file: "protobuf/kokoro/linux/ruby24/build.sh"
timeout_mins: 120
action {
define_artifacts {
regex: "**/sponge_log.xml"
}
}

@ -1,12 +0,0 @@
#!/bin/bash
#
# Build file to set up and run tests
# Change to repo root
cd $(dirname $0)/../../..
# Prepare worker environment to run tests
KOKORO_INSTALL_RVM=yes
source kokoro/macos/prepare_build_macos_rc
./tests.sh ruby23

@ -1,5 +0,0 @@
# Config file for running tests in Kokoro
# Location of the build script in repository
build_file: "protobuf/kokoro/macos/ruby23/build.sh"
timeout_mins: 1440

@ -1,5 +0,0 @@
# Config file for running tests in Kokoro
# Location of the build script in repository
build_file: "protobuf/kokoro/macos/ruby23/build.sh"
timeout_mins: 1440

@ -1,12 +0,0 @@
#!/bin/bash
#
# Build file to set up and run tests
# Change to repo root
cd $(dirname $0)/../../..
# Prepare worker environment to run tests
KOKORO_INSTALL_RVM=yes
source kokoro/macos/prepare_build_macos_rc
./tests.sh ruby24

@ -1,5 +0,0 @@
# Config file for running tests in Kokoro
# Location of the build script in repository
build_file: "protobuf/kokoro/macos/ruby24/build.sh"
timeout_mins: 1440

@ -1,5 +0,0 @@
# Config file for running tests in Kokoro
# Location of the build script in repository
build_file: "protobuf/kokoro/macos/ruby24/build.sh"
timeout_mins: 1440

@ -66,7 +66,7 @@ set +x
rvm use 2.5.0 rvm use 2.5.0
set -x set -x
ruby --version | grep 'ruby 2.5.0' ruby --version | grep 'ruby 2.5.0'
for v in 2.6.0 2.5.1 2.4.0 2.3.0; do for v in 2.6.0 2.5.1; do
ccache -c ccache -c
rake -f "$CROSS_RUBY" cross-ruby VERSION="$v" HOST=x86_64-darwin11 MAKE="$MAKE" rake -f "$CROSS_RUBY" cross-ruby VERSION="$v" HOST=x86_64-darwin11 MAKE="$MAKE"
done done

@ -1,5 +1,3 @@
source 'https://rubygems.org' source 'https://rubygems.org'
gemspec gemspec
gem "irb", "~> 1.1", "< 1.2.0" if RUBY_VERSION < "2.5"

@ -100,7 +100,7 @@ else
['x86-mingw32', 'x64-mingw32', 'x86_64-linux', 'x86-linux'].each do |plat| ['x86-mingw32', 'x64-mingw32', 'x86_64-linux', 'x86-linux'].each do |plat|
RakeCompilerDock.sh <<-"EOT", platform: plat RakeCompilerDock.sh <<-"EOT", platform: plat
bundle && \ bundle && \
IN_DOCKER=true rake native:#{plat} pkg/#{spec.full_name}-#{plat}.gem RUBY_CC_VERSION=3.0.0:2.7.0:2.6.0:2.5.0:2.4.0:2.3.0 IN_DOCKER=true rake native:#{plat} pkg/#{spec.full_name}-#{plat}.gem RUBY_CC_VERSION=3.0.0:2.7.0:2.6.0:2.5.0
EOT EOT
end end
end end
@ -108,7 +108,7 @@ else
if RUBY_PLATFORM =~ /darwin/ if RUBY_PLATFORM =~ /darwin/
task 'gem:native' do task 'gem:native' do
system "rake genproto" system "rake genproto"
system "rake cross native gem RUBY_CC_VERSION=3.0.0:2.7.0:2.6.0:2.5.1:2.4.0:2.3.0" system "rake cross native gem RUBY_CC_VERSION=3.0.0:2.7.0:2.6.0:2.5.1"
end end
else else
task 'gem:native' => [:genproto, 'gem:windows'] task 'gem:native' => [:genproto, 'gem:windows']

Loading…
Cancel
Save