diff --git a/kokoro/macos/objectivec_cocoapods_integration/build.sh b/kokoro/macos/objectivec_cocoapods_integration/build.sh index 8f3c9b4c15..f96d2899d9 100755 --- a/kokoro/macos/objectivec_cocoapods_integration/build.sh +++ b/kokoro/macos/objectivec_cocoapods_integration/build.sh @@ -6,7 +6,6 @@ cd $(dirname $0)/../../.. # Prepare worker environment to run tests -KOKORO_INSTALL_COCOAPODS=yes source kokoro/macos/prepare_build_macos_rc ./tests.sh objectivec_cocoapods_integration diff --git a/kokoro/macos/prepare_build_macos_rc b/kokoro/macos/prepare_build_macos_rc index dcd17f330c..ef428fcda3 100755 --- a/kokoro/macos/prepare_build_macos_rc +++ b/kokoro/macos/prepare_build_macos_rc @@ -19,58 +19,6 @@ export DEVELOPER_DIR=/Applications/Xcode_11.3.app/Contents/Developer export CC=gcc export CXX=g++ -## -# Brew: update, then upgrade the installed tools to current version and install -# some needed ones not in the Kokoro base image. This ensure current versions -# of CMake, autotools, etc. - -# But first... -# -# The transitive deps of the installed tools need protobuf, but Kokoro manually -# installed it outside of brew so it needs to be removed so brew can install the -# tools (and a newer version of protobuf). g/kokoro-users/7FRvQMUdN40 about why -# it is a manual install vs. a brew install in the first place. -sudo rm -rf \ - /usr/local/include/google/protobuf \ - /usr/local/bin/protoc -# Likewise, updating python can have issues because of some existing binaries. -sudo rm -rf \ - /usr/local/bin/2to3* \ - /usr/local/bin/idle3* \ - /usr/local/bin/pip3 \ - /usr/local/bin/pydoc3* \ - /usr/local/bin/python3* \ - /usr/local/bin/pyvenv* - -git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow -git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow - -# This is needed to fix a conflict between the ilmbase and imath packages, -# which seem to conflict with each other by both trying to install -# libImath.dylib. -brew unlink ilmbase - -brew update -brew upgrade - -## -# Install Ruby - -if [[ "${KOKORO_INSTALL_RUBY:-}" == "yes" ]] ; then - brew install ruby -fi - -## -# Install Cocoapods - -if [[ "${KOKORO_INSTALL_COCOAPODS:-}" == "yes" ]] ; then - # The existing cocoapods was installed via gem, but that doesn't work well - # with the overlap in deps with things managed by brew (errors around ruby - # versions, etc.); so remove it and install in via brew instead. - gem uninstall -a "$(gem list | grep cocoapods | cut -d ' ' -f 1)" - brew install cocoapods -fi - ## # Install Tox @@ -85,5 +33,5 @@ if [[ "${KOKORO_INSTALL_RVM:-}" == "yes" ]] ; then curl -sSL https://rvm.io/mpapis.asc | gpg --import - curl -sSL https://rvm.io/pkuczynski.asc | gpg --import - - curl -sSL https://get.rvm.io | bash -s master --ruby + curl -sSL https://get.rvm.io | bash -s stable --ruby fi diff --git a/kokoro/macos/ruby23/build.sh b/kokoro/macos/ruby23/build.sh index 9317838781..5a29a997fc 100755 --- a/kokoro/macos/ruby23/build.sh +++ b/kokoro/macos/ruby23/build.sh @@ -6,7 +6,6 @@ cd $(dirname $0)/../../.. # Prepare worker environment to run tests -KOKORO_INSTALL_RUBY=yes KOKORO_INSTALL_RVM=yes source kokoro/macos/prepare_build_macos_rc diff --git a/kokoro/macos/ruby24/build.sh b/kokoro/macos/ruby24/build.sh index 51bb2e603b..10ac85f7a4 100755 --- a/kokoro/macos/ruby24/build.sh +++ b/kokoro/macos/ruby24/build.sh @@ -6,7 +6,6 @@ cd $(dirname $0)/../../.. # Prepare worker environment to run tests -KOKORO_INSTALL_RUBY=yes KOKORO_INSTALL_RVM=yes source kokoro/macos/prepare_build_macos_rc diff --git a/kokoro/macos/ruby25/build.sh b/kokoro/macos/ruby25/build.sh index ba2d0a4d19..48c894081b 100755 --- a/kokoro/macos/ruby25/build.sh +++ b/kokoro/macos/ruby25/build.sh @@ -6,7 +6,6 @@ cd $(dirname $0)/../../.. # Prepare worker environment to run tests -KOKORO_INSTALL_RUBY=yes KOKORO_INSTALL_RVM=yes source kokoro/macos/prepare_build_macos_rc diff --git a/kokoro/macos/ruby26/build.sh b/kokoro/macos/ruby26/build.sh index 5a4c243222..1b94fe1b55 100755 --- a/kokoro/macos/ruby26/build.sh +++ b/kokoro/macos/ruby26/build.sh @@ -6,7 +6,6 @@ cd $(dirname $0)/../../.. # Prepare worker environment to run tests -KOKORO_INSTALL_RUBY=yes KOKORO_INSTALL_RVM=yes source kokoro/macos/prepare_build_macos_rc diff --git a/kokoro/macos/ruby27/build.sh b/kokoro/macos/ruby27/build.sh index b1529b9da0..baebdb792a 100755 --- a/kokoro/macos/ruby27/build.sh +++ b/kokoro/macos/ruby27/build.sh @@ -6,7 +6,6 @@ cd $(dirname $0)/../../.. # Prepare worker environment to run tests -KOKORO_INSTALL_RUBY=yes KOKORO_INSTALL_RVM=yes source kokoro/macos/prepare_build_macos_rc diff --git a/kokoro/macos/ruby30/build.sh b/kokoro/macos/ruby30/build.sh index 6b9bfb3215..b1e0641c96 100755 --- a/kokoro/macos/ruby30/build.sh +++ b/kokoro/macos/ruby30/build.sh @@ -6,7 +6,6 @@ cd $(dirname $0)/../../.. # Prepare worker environment to run tests -KOKORO_INSTALL_RUBY=yes KOKORO_INSTALL_RVM=yes source kokoro/macos/prepare_build_macos_rc diff --git a/ruby/travis-test.sh b/ruby/travis-test.sh index 8980395f78..b57d8b2db9 100755 --- a/ruby/travis-test.sh +++ b/ruby/travis-test.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Exit on any error. -set -e +set -ex test_version() { version=$1 @@ -18,7 +18,7 @@ test_version() { rake gc_test && cd ../conformance && make test_jruby && cd ../ruby/compatibility_tests/v3.0.0 && ./test.sh" - elif [ "$version" == "ruby-2.6.0" -o "$version" == "ruby-2.7.0" -o "$version" == "ruby-3.0.2" ] ; then + else bash --login -c \ "rvm install $version && rvm use $version && \ which ruby && \ @@ -29,19 +29,6 @@ test_version() { cd ../conformance && make ${RUBY_CONFORMANCE} && cd ../ruby/compatibility_tests/v3.0.0 && cp -R ../../lib lib && ./test.sh" - else - # Recent versions of OSX have deprecated OpenSSL, so we have to explicitly - # provide a path to the OpenSSL directory installed via Homebrew. - bash --login -c \ - "rvm install $version --with-openssl-dir=`brew --prefix openssl` && \ - rvm use $version && \ - which ruby && \ - git clean -f && \ - gem install bundler -v 1.17.3 && bundle && \ - rake test && - rake gc_test && - cd ../conformance && make ${RUBY_CONFORMANCE} && - cd ../ruby/compatibility_tests/v3.0.0 && ./test.sh" fi } diff --git a/tests.sh b/tests.sh index 5dc2eb6ff8..71635f9f7f 100755 --- a/tests.sh +++ b/tests.sh @@ -88,6 +88,18 @@ build_cpp_distcheck() { } build_dist_install() { + # Create a symlink pointing to python2 and put it at the beginning of $PATH. + # This is necessary because the googletest build system involves a Python + # script that is not compatible with Python 3. More recent googletest + # versions have fixed this, but they have also removed the autotools build + # system support that we rely on. This is a temporary workaround to keep the + # googletest build working when the default python binary is Python 3. + mkdir tmp || true + pushd tmp + ln -s /usr/bin/python2 ./python + popd + PATH=$PWD/tmp:$PATH + # Initialize any submodules. git submodule update --init --recursive ./autogen.sh