From c3340b20a8dbf230ddbc68096ea1e8631317d528 Mon Sep 17 00:00:00 2001 From: Paul Yang Date: Mon, 7 Jan 2019 19:44:54 -0800 Subject: [PATCH] Add ruby 2.6 gem build for linux (#5537) * Add ruby 2.6 gem build for linux * Add docker hub organization * Add ruby2.6 in cross compile targets * Fix tests * Check mac version * No need to install php in preparation for mac --- kokoro/linux/dockerfile/push_testing_images.sh | 2 +- .../linux/dockerfile/release/ruby_rake_compiler/Dockerfile | 3 +++ kokoro/macos/prepare_build_macos_rc | 3 +-- kokoro/release/ruby/linux/prepare_build.sh | 6 ++++-- kokoro/release/ruby/macos/ruby/ruby_build_environment.sh | 2 +- ruby/Rakefile | 4 ++-- 6 files changed, 12 insertions(+), 8 deletions(-) create mode 100644 kokoro/linux/dockerfile/release/ruby_rake_compiler/Dockerfile diff --git a/kokoro/linux/dockerfile/push_testing_images.sh b/kokoro/linux/dockerfile/push_testing_images.sh index 8bc1097ccb4e..54a69e3eaa7a 100755 --- a/kokoro/linux/dockerfile/push_testing_images.sh +++ b/kokoro/linux/dockerfile/push_testing_images.sh @@ -8,7 +8,7 @@ cd - DOCKERHUB_ORGANIZATION=protobuftesting -for DOCKERFILE_DIR in test/* +for DOCKERFILE_DIR in test/* release/* do # Generate image name based on Dockerfile checksum. That works well as long # as can count on dockerfiles being written in a way that changing the logical diff --git a/kokoro/linux/dockerfile/release/ruby_rake_compiler/Dockerfile b/kokoro/linux/dockerfile/release/ruby_rake_compiler/Dockerfile new file mode 100644 index 000000000000..9ba664d8b05a --- /dev/null +++ b/kokoro/linux/dockerfile/release/ruby_rake_compiler/Dockerfile @@ -0,0 +1,3 @@ +FROM grpctesting/rake-compiler-dock_53c22085d091183c528303791e7771359f699bcf + +RUN /bin/bash -l -c "gem install bundler" diff --git a/kokoro/macos/prepare_build_macos_rc b/kokoro/macos/prepare_build_macos_rc index fb975523a496..c5687e9d8f88 100755 --- a/kokoro/macos/prepare_build_macos_rc +++ b/kokoro/macos/prepare_build_macos_rc @@ -18,9 +18,8 @@ export CXX=g++ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" source $HOME/.rvm/scripts/rvm -brew tap homebrew/homebrew-php brew uninstall node icu4c -brew install gflags gpg gpg2 node pcre php56 ruby +brew install gflags gpg gpg2 node pcre ruby ## # Install Tox diff --git a/kokoro/release/ruby/linux/prepare_build.sh b/kokoro/release/ruby/linux/prepare_build.sh index d3ff87647e2c..f2257c3c7530 100755 --- a/kokoro/release/ruby/linux/prepare_build.sh +++ b/kokoro/release/ruby/linux/prepare_build.sh @@ -8,9 +8,11 @@ echo 'DOCKER_OPTS="${DOCKER_OPTS} --registry-mirror=https://mirror.gcr.io"' | su sudo service docker restart # Download Docker images from DockerHub -export DOCKERHUB_ORGANIZATION=grpctesting +DOCKERHUB_ORGANIZATION=protobuftesting +DOCKERFILE_DIR=kokoro/linux/dockerfile/release/ruby_rake_compiler +DOCKERFILE_PREFIX=$(basename $DOCKERFILE_DIR) +export RAKE_COMPILER_DOCK_IMAGE=${DOCKERHUB_ORGANIZATION}/${DOCKERFILE_PREFIX}_$(sha1sum $DOCKERFILE_DIR/Dockerfile | cut -f1 -d\ ) # All artifacts come here mkdir artifacts export ARTIFACT_DIR=$(pwd)/artifacts - diff --git a/kokoro/release/ruby/macos/ruby/ruby_build_environment.sh b/kokoro/release/ruby/macos/ruby/ruby_build_environment.sh index e9c619cd1cf5..c1645e028743 100755 --- a/kokoro/release/ruby/macos/ruby/ruby_build_environment.sh +++ b/kokoro/release/ruby/macos/ruby/ruby_build_environment.sh @@ -47,7 +47,7 @@ EOF MAKE="make -j8" -for v in 2.5.0 2.4.0 2.3.0 2.2.2 2.1.6 2.0.0-p645 ; do +for v in 2.6.0 2.5.1 2.4.0 2.3.0 ; do ccache -c rake -f "$CROSS_RUBY" cross-ruby VERSION="$v" HOST=x86_64-darwin11 MAKE="$MAKE" done diff --git a/ruby/Rakefile b/ruby/Rakefile index f1c5bc8c5538..79b7df306558 100644 --- a/ruby/Rakefile +++ b/ruby/Rakefile @@ -70,13 +70,13 @@ else task 'gem:windows' do require 'rake_compiler_dock' - RakeCompilerDock.sh "bundle && IN_DOCKER=true rake cross native gem RUBY_CC_VERSION=2.5.0:2.4.0:2.3.0:2.2.2:2.1.6:2.0.0" + RakeCompilerDock.sh "bundle && IN_DOCKER=true rake cross native gem RUBY_CC_VERSION=2.6.0:2.5.0:2.4.0:2.3.0" end if RUBY_PLATFORM =~ /darwin/ task 'gem:native' do system "rake genproto" - system "rake cross native gem RUBY_CC_VERSION=2.5.0:2.4.0:2.3.0:2.2.2:2.1.6:2.0.0" + system "rake cross native gem RUBY_CC_VERSION=2.6.0:2.5.1:2.4.0:2.3.0" end else task 'gem:native' => [:genproto, 'gem:windows']