From e529d162838f747362c123ec10e87ebe3970c677 Mon Sep 17 00:00:00 2001 From: Feng Xiao Date: Wed, 11 Jul 2018 16:25:55 -0700 Subject: Make ruby release configs consistent with protoc. --- kokoro/release/linux/build_artifacts.sh | 14 ------ kokoro/release/linux/prepare_build.sh | 16 ------ kokoro/release/linux/release.cfg | 8 --- kokoro/release/linux/ruby/ruby_build.sh | 15 ------ .../release/linux/ruby/ruby_build_environment.sh | 8 --- kokoro/release/macos/build_artifacts.sh | 19 -------- kokoro/release/macos/release.cfg | 8 --- kokoro/release/macos/ruby/ruby_build.sh | 15 ------ .../release/macos/ruby/ruby_build_environment.sh | 57 ---------------------- kokoro/release/ruby/linux/build_artifacts.sh | 14 ++++++ kokoro/release/ruby/linux/prepare_build.sh | 16 ++++++ kokoro/release/ruby/linux/release.cfg | 8 +++ kokoro/release/ruby/linux/ruby/ruby_build.sh | 15 ++++++ .../ruby/linux/ruby/ruby_build_environment.sh | 8 +++ kokoro/release/ruby/macos/build_artifacts.sh | 19 ++++++++ kokoro/release/ruby/macos/release.cfg | 8 +++ kokoro/release/ruby/macos/ruby/ruby_build.sh | 15 ++++++ .../ruby/macos/ruby/ruby_build_environment.sh | 57 ++++++++++++++++++++++ 18 files changed, 160 insertions(+), 160 deletions(-) delete mode 100755 kokoro/release/linux/build_artifacts.sh delete mode 100755 kokoro/release/linux/prepare_build.sh delete mode 100644 kokoro/release/linux/release.cfg delete mode 100755 kokoro/release/linux/ruby/ruby_build.sh delete mode 100755 kokoro/release/linux/ruby/ruby_build_environment.sh delete mode 100755 kokoro/release/macos/build_artifacts.sh delete mode 100644 kokoro/release/macos/release.cfg delete mode 100755 kokoro/release/macos/ruby/ruby_build.sh delete mode 100755 kokoro/release/macos/ruby/ruby_build_environment.sh create mode 100755 kokoro/release/ruby/linux/build_artifacts.sh create mode 100755 kokoro/release/ruby/linux/prepare_build.sh create mode 100644 kokoro/release/ruby/linux/release.cfg create mode 100755 kokoro/release/ruby/linux/ruby/ruby_build.sh create mode 100755 kokoro/release/ruby/linux/ruby/ruby_build_environment.sh create mode 100755 kokoro/release/ruby/macos/build_artifacts.sh create mode 100644 kokoro/release/ruby/macos/release.cfg create mode 100755 kokoro/release/ruby/macos/ruby/ruby_build.sh create mode 100755 kokoro/release/ruby/macos/ruby/ruby_build_environment.sh diff --git a/kokoro/release/linux/build_artifacts.sh b/kokoro/release/linux/build_artifacts.sh deleted file mode 100755 index ae7dc813..00000000 --- a/kokoro/release/linux/build_artifacts.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -set -ex - -# change to repo root -cd $(dirname $0)/../../.. - -source kokoro/release/linux/prepare_build.sh - -# ruby environment -source kokoro/release/linux/ruby/ruby_build_environment.sh - -# build artifacts -bash kokoro/release/linux/ruby/ruby_build.sh diff --git a/kokoro/release/linux/prepare_build.sh b/kokoro/release/linux/prepare_build.sh deleted file mode 100755 index d3ff8764..00000000 --- a/kokoro/release/linux/prepare_build.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -# Move docker's storage location to scratch disk so we don't run out of space. -echo 'DOCKER_OPTS="${DOCKER_OPTS} --graph=/tmpfs/docker"' | sudo tee --append /etc/default/docker -# Use container registry mirror for pulling docker images (should make downloads faster) -# See https://cloud.google.com/container-registry/docs/using-dockerhub-mirroring -echo 'DOCKER_OPTS="${DOCKER_OPTS} --registry-mirror=https://mirror.gcr.io"' | sudo tee --append /etc/default/docker -sudo service docker restart - -# Download Docker images from DockerHub -export DOCKERHUB_ORGANIZATION=grpctesting - -# All artifacts come here -mkdir artifacts -export ARTIFACT_DIR=$(pwd)/artifacts - diff --git a/kokoro/release/linux/release.cfg b/kokoro/release/linux/release.cfg deleted file mode 100644 index 5dae7019..00000000 --- a/kokoro/release/linux/release.cfg +++ /dev/null @@ -1,8 +0,0 @@ -# Configuration for Linux release builds -build_file: "protobuf/kokoro/release/linux/build_artifacts.sh" - -action { - define_artifacts { - regex: "github/protobuf/artifacts/**" - } -} diff --git a/kokoro/release/linux/ruby/ruby_build.sh b/kokoro/release/linux/ruby/ruby_build.sh deleted file mode 100755 index cf6b433d..00000000 --- a/kokoro/release/linux/ruby/ruby_build.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -# Build protoc -if test ! -e src/protoc; then - ./autogen.sh - ./configure - make -j4 -fi - -umask 0022 -pushd ruby -bundle install && bundle exec rake gem:native -ls pkg -mv pkg/* $ARTIFACT_DIR -popd diff --git a/kokoro/release/linux/ruby/ruby_build_environment.sh b/kokoro/release/linux/ruby/ruby_build_environment.sh deleted file mode 100755 index ea04f905..00000000 --- a/kokoro/release/linux/ruby/ruby_build_environment.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -set +ex -[[ -s /etc/profile.d/rvm.sh ]] && . /etc/profile.d/rvm.sh -set -e # rvm commands are very verbose -rvm --default use ruby-2.4.1 -gem install bundler --update -set -ex diff --git a/kokoro/release/macos/build_artifacts.sh b/kokoro/release/macos/build_artifacts.sh deleted file mode 100755 index 23135ca3..00000000 --- a/kokoro/release/macos/build_artifacts.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -set -ex - -# change to repo root -cd $(dirname $0)/../../.. - -# all artifacts come here -mkdir artifacts -export ARTIFACT_DIR=$(pwd)/artifacts - -# ruby environment -bash kokoro/release/macos/ruby/ruby_build_environment.sh - -gem install rubygems-update -update_rubygems - -# build artifacts -bash kokoro/release/macos/ruby/ruby_build.sh diff --git a/kokoro/release/macos/release.cfg b/kokoro/release/macos/release.cfg deleted file mode 100644 index 35d36dee..00000000 --- a/kokoro/release/macos/release.cfg +++ /dev/null @@ -1,8 +0,0 @@ -# Configuration for Mac OSX release builds -build_file: "protobuf/kokoro/release/macos/build_artifacts.sh" - -action { - define_artifacts { - regex: "github/protobuf/artifacts/**" - } -} diff --git a/kokoro/release/macos/ruby/ruby_build.sh b/kokoro/release/macos/ruby/ruby_build.sh deleted file mode 100755 index cf6b433d..00000000 --- a/kokoro/release/macos/ruby/ruby_build.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -# Build protoc -if test ! -e src/protoc; then - ./autogen.sh - ./configure - make -j4 -fi - -umask 0022 -pushd ruby -bundle install && bundle exec rake gem:native -ls pkg -mv pkg/* $ARTIFACT_DIR -popd diff --git a/kokoro/release/macos/ruby/ruby_build_environment.sh b/kokoro/release/macos/ruby/ruby_build_environment.sh deleted file mode 100755 index e9c619cd..00000000 --- a/kokoro/release/macos/ruby/ruby_build_environment.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -set -ex - -set +ex # rvm script is very verbose and exits with errorcode -source $HOME/.rvm/scripts/rvm -set -e # rvm commands are very verbose -time rvm install 2.5.0 -rvm use 2.5.0 --default -gem install rake-compiler --no-ri --no-doc -gem install bundler --no-ri --no-doc -rvm osx-ssl-certs status all -rvm osx-ssl-certs update all -set -ex - -rm -rf ~/.rake-compiler - -CROSS_RUBY=$(mktemp tmpfile.XXXXXXXX) - -curl https://raw.githubusercontent.com/rake-compiler/rake-compiler/v1.0.3/tasks/bin/cross-ruby.rake > "$CROSS_RUBY" - -# See https://github.com/grpc/grpc/issues/12161 for verconf.h patch details -patch "$CROSS_RUBY" << EOF ---- cross-ruby.rake 2018-04-10 11:32:16.000000000 -0700 -+++ patched 2018-04-10 11:40:25.000000000 -0700 -@@ -133,8 +133,10 @@ - "--host=#{MINGW_HOST}", - "--target=#{MINGW_TARGET}", - "--build=#{RUBY_BUILD}", -- '--enable-shared', -+ '--enable-static', -+ '--disable-shared', - '--disable-install-doc', -+ '--without-gmp', - '--with-ext=' - ] - -@@ -151,6 +153,7 @@ - # make - file "#{USER_HOME}/builds/#{MINGW_HOST}/#{RUBY_CC_VERSION}/ruby.exe" => ["#{USER_HOME}/builds/#{MINGW_HOST}/#{RUBY_CC_VERSION}/Makefile"] do |t| - chdir File.dirname(t.prerequisites.first) do -+ sh "test -s verconf.h || rm -f verconf.h" # if verconf.h has size 0, make sure it gets re-built by make - sh MAKE - end - end -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 - ccache -c - rake -f "$CROSS_RUBY" cross-ruby VERSION="$v" HOST=x86_64-darwin11 MAKE="$MAKE" -done - -sed 's/x86_64-darwin-11/universal-darwin/' ~/.rake-compiler/config.yml > "$CROSS_RUBY" -mv "$CROSS_RUBY" ~/.rake-compiler/config.yml - diff --git a/kokoro/release/ruby/linux/build_artifacts.sh b/kokoro/release/ruby/linux/build_artifacts.sh new file mode 100755 index 00000000..88555226 --- /dev/null +++ b/kokoro/release/ruby/linux/build_artifacts.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +set -ex + +# change to repo root +cd $(dirname $0)/../../../.. + +source kokoro/release/ruby/linux/prepare_build.sh + +# ruby environment +source kokoro/release/ruby/linux/ruby/ruby_build_environment.sh + +# build artifacts +bash kokoro/release/ruby/linux/ruby/ruby_build.sh diff --git a/kokoro/release/ruby/linux/prepare_build.sh b/kokoro/release/ruby/linux/prepare_build.sh new file mode 100755 index 00000000..d3ff8764 --- /dev/null +++ b/kokoro/release/ruby/linux/prepare_build.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# Move docker's storage location to scratch disk so we don't run out of space. +echo 'DOCKER_OPTS="${DOCKER_OPTS} --graph=/tmpfs/docker"' | sudo tee --append /etc/default/docker +# Use container registry mirror for pulling docker images (should make downloads faster) +# See https://cloud.google.com/container-registry/docs/using-dockerhub-mirroring +echo 'DOCKER_OPTS="${DOCKER_OPTS} --registry-mirror=https://mirror.gcr.io"' | sudo tee --append /etc/default/docker +sudo service docker restart + +# Download Docker images from DockerHub +export DOCKERHUB_ORGANIZATION=grpctesting + +# All artifacts come here +mkdir artifacts +export ARTIFACT_DIR=$(pwd)/artifacts + diff --git a/kokoro/release/ruby/linux/release.cfg b/kokoro/release/ruby/linux/release.cfg new file mode 100644 index 00000000..dbc71b2c --- /dev/null +++ b/kokoro/release/ruby/linux/release.cfg @@ -0,0 +1,8 @@ +# Configuration for Linux release builds +build_file: "protobuf/kokoro/release/ruby/linux/build_artifacts.sh" + +action { + define_artifacts { + regex: "github/protobuf/artifacts/**" + } +} diff --git a/kokoro/release/ruby/linux/ruby/ruby_build.sh b/kokoro/release/ruby/linux/ruby/ruby_build.sh new file mode 100755 index 00000000..cf6b433d --- /dev/null +++ b/kokoro/release/ruby/linux/ruby/ruby_build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# Build protoc +if test ! -e src/protoc; then + ./autogen.sh + ./configure + make -j4 +fi + +umask 0022 +pushd ruby +bundle install && bundle exec rake gem:native +ls pkg +mv pkg/* $ARTIFACT_DIR +popd diff --git a/kokoro/release/ruby/linux/ruby/ruby_build_environment.sh b/kokoro/release/ruby/linux/ruby/ruby_build_environment.sh new file mode 100755 index 00000000..ea04f905 --- /dev/null +++ b/kokoro/release/ruby/linux/ruby/ruby_build_environment.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +set +ex +[[ -s /etc/profile.d/rvm.sh ]] && . /etc/profile.d/rvm.sh +set -e # rvm commands are very verbose +rvm --default use ruby-2.4.1 +gem install bundler --update +set -ex diff --git a/kokoro/release/ruby/macos/build_artifacts.sh b/kokoro/release/ruby/macos/build_artifacts.sh new file mode 100755 index 00000000..c68b63cc --- /dev/null +++ b/kokoro/release/ruby/macos/build_artifacts.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +set -ex + +# change to repo root +cd $(dirname $0)/../../../.. + +# all artifacts come here +mkdir artifacts +export ARTIFACT_DIR=$(pwd)/artifacts + +# ruby environment +bash kokoro/release/ruby/macos/ruby/ruby_build_environment.sh + +gem install rubygems-update +update_rubygems + +# build artifacts +bash kokoro/release/ruby/macos/ruby/ruby_build.sh diff --git a/kokoro/release/ruby/macos/release.cfg b/kokoro/release/ruby/macos/release.cfg new file mode 100644 index 00000000..cb1c08bb --- /dev/null +++ b/kokoro/release/ruby/macos/release.cfg @@ -0,0 +1,8 @@ +# Configuration for Mac OSX release builds +build_file: "protobuf/kokoro/release/ruby/macos/build_artifacts.sh" + +action { + define_artifacts { + regex: "github/protobuf/artifacts/**" + } +} diff --git a/kokoro/release/ruby/macos/ruby/ruby_build.sh b/kokoro/release/ruby/macos/ruby/ruby_build.sh new file mode 100755 index 00000000..cf6b433d --- /dev/null +++ b/kokoro/release/ruby/macos/ruby/ruby_build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# Build protoc +if test ! -e src/protoc; then + ./autogen.sh + ./configure + make -j4 +fi + +umask 0022 +pushd ruby +bundle install && bundle exec rake gem:native +ls pkg +mv pkg/* $ARTIFACT_DIR +popd diff --git a/kokoro/release/ruby/macos/ruby/ruby_build_environment.sh b/kokoro/release/ruby/macos/ruby/ruby_build_environment.sh new file mode 100755 index 00000000..e9c619cd --- /dev/null +++ b/kokoro/release/ruby/macos/ruby/ruby_build_environment.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +set -ex + +set +ex # rvm script is very verbose and exits with errorcode +source $HOME/.rvm/scripts/rvm +set -e # rvm commands are very verbose +time rvm install 2.5.0 +rvm use 2.5.0 --default +gem install rake-compiler --no-ri --no-doc +gem install bundler --no-ri --no-doc +rvm osx-ssl-certs status all +rvm osx-ssl-certs update all +set -ex + +rm -rf ~/.rake-compiler + +CROSS_RUBY=$(mktemp tmpfile.XXXXXXXX) + +curl https://raw.githubusercontent.com/rake-compiler/rake-compiler/v1.0.3/tasks/bin/cross-ruby.rake > "$CROSS_RUBY" + +# See https://github.com/grpc/grpc/issues/12161 for verconf.h patch details +patch "$CROSS_RUBY" << EOF +--- cross-ruby.rake 2018-04-10 11:32:16.000000000 -0700 ++++ patched 2018-04-10 11:40:25.000000000 -0700 +@@ -133,8 +133,10 @@ + "--host=#{MINGW_HOST}", + "--target=#{MINGW_TARGET}", + "--build=#{RUBY_BUILD}", +- '--enable-shared', ++ '--enable-static', ++ '--disable-shared', + '--disable-install-doc', ++ '--without-gmp', + '--with-ext=' + ] + +@@ -151,6 +153,7 @@ + # make + file "#{USER_HOME}/builds/#{MINGW_HOST}/#{RUBY_CC_VERSION}/ruby.exe" => ["#{USER_HOME}/builds/#{MINGW_HOST}/#{RUBY_CC_VERSION}/Makefile"] do |t| + chdir File.dirname(t.prerequisites.first) do ++ sh "test -s verconf.h || rm -f verconf.h" # if verconf.h has size 0, make sure it gets re-built by make + sh MAKE + end + end +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 + ccache -c + rake -f "$CROSS_RUBY" cross-ruby VERSION="$v" HOST=x86_64-darwin11 MAKE="$MAKE" +done + +sed 's/x86_64-darwin-11/universal-darwin/' ~/.rake-compiler/config.yml > "$CROSS_RUBY" +mv "$CROSS_RUBY" ~/.rake-compiler/config.yml + -- cgit v1.2.3