Skip to content

Commit

Permalink
Fix Kokoro tests to work on Monterey machines (#10473)
Browse files Browse the repository at this point in the history
* Disabling broken mac php tests

* Fix ruby permissions after Monterey upgrade

* Install m4 via Homebrew

* Adding ruby/python fixes to presubmits

* Adding homebrew prefix command

* More fixes for objc, python, and benchmark build

* Properly disabling C++ benchmark warning

* Use python 2 for testing

* Splitting venv and python 2

* Setup tox-pyenv

* Silencing more warnings

* Cleanup

* Upgrade python tests to 3.7 on mac

* Switch to python 2 by default (googletest requires it)

* Remove venv for python tests, use python 3.7

* Disable all compiler warnings for benchmark builds

* Enable benchmark LTO to silence warnings

* Fix locale issues in cocoapods

* Remove benchmark build from C++ tests

* Removing deprecated use_bazel command

Removing python 3.6 mac build, since Monterey doesn't support it
  • Loading branch information
mkruskal-google authored Aug 30, 2022
1 parent 2fb33f4 commit 40847c7
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 33 deletions.
4 changes: 2 additions & 2 deletions benchmarks/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,8 @@ $(benchmarks_protoc_outputs_proto2_header): protoc_middleman2

initialize_submodule:
oldpwd=`pwd`
cd $(top_srcdir) && git submodule update --init -r third_party/benchmark && \
cd third_party/benchmark && cmake -DCMAKE_BUILD_TYPE=Release && make
cd $(top_srcdir) && git submodule update --init -r third_party/benchmark && cd third_party/benchmark \
&& cmake -DCMAKE_BUILD_TYPE=Release && make
cd $$oldpwd
touch initialize_submodule

Expand Down
35 changes: 20 additions & 15 deletions kokoro/macos/prepare_build_macos_rc
Original file line number Diff line number Diff line change
Expand Up @@ -4,37 +4,42 @@

set -eux

export HOMEBREW_PREFIX=$(brew --prefix)

##
# Select Xcode version

# Remember to update the Xcode version when Xcode_11.3.app is not available.
# If xcode is not available, it will probably encounter the failure for
# "autom4te: need GNU m4 1.4 or later: /usr/bin/m4"
# go/kokoro/userdocs/macos/selecting_xcode.md for more information.
export DEVELOPER_DIR=/Applications/Xcode_11.3.app/Contents/Developer
##
# Select Xcode version
export DEVELOPER_DIR=/Applications/Xcode_13.3.1.app/Contents/Developer
sudo xcode-select -s "${DEVELOPER_DIR}"

##
# Select C/C++ compilers

export CC=gcc
export CXX=g++

##
# Install Python 2 by default

eval "$(pyenv init -)"
pyenv install -v -s 2.7.18 && pyenv global 2.7.18

##
# Install Tox

if [[ "${KOKORO_INSTALL_TOX:-}" == "yes" ]] ; then
sudo python3 -m pip install --upgrade pip tox
pyenv install -v -s 3.7.13
pyenv global 3.7.13
sudo python -m pip install --upgrade pip tox tox-pyenv
fi

##
# Install RVM

# Setup RVM
if [[ "${KOKORO_INSTALL_RVM:-}" == "yes" ]] ; then
curl -sSL https://rvm.io/mpapis.asc | gpg --import -
curl -sSL https://rvm.io/pkuczynski.asc | gpg --import -

# Old OpenSSL versions cannot handle the SSL certificate used by
# https://get.rvm.io, so as a workaround we download RVM directly from
# GitHub. See this issue for details: https://github.com/rvm/rvm/issues/5133
curl -sSL https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer | bash -s master --ruby
git config --global --add safe.directory $HOMEBREW_PREFIX/Library/Taps/homebrew/homebrew-cask
git config --global --add safe.directory $HOMEBREW_PREFIX/Library/Taps/homebrew/homebrew-core
git config --global --add safe.directory $HOMEBREW_PREFIX/Library/Taps/homebrew/homebrew-services
sudo chown -R $(whoami) $HOME/.rvm/
fi
3 changes: 3 additions & 0 deletions kokoro/macos/ruby31/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
# Change to repo root
cd $(dirname $0)/../../..

# Fix locale issues in Monterey.
export LC_ALL=en_US.UTF-8

# Prepare worker environment to run tests
KOKORO_INSTALL_RVM=yes
source kokoro/macos/prepare_build_macos_rc
Expand Down
1 change: 0 additions & 1 deletion kokoro/release/python/macos/build_artifacts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ build_artifact_version() {
}

export MB_PYTHON_OSX_VER=10.9
build_artifact_version 3.6
build_artifact_version 3.7
build_artifact_version 3.8
build_artifact_version 3.9
Expand Down
3 changes: 0 additions & 3 deletions kokoro/release/ruby/macos/build_artifacts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,5 @@ 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
1 change: 0 additions & 1 deletion kokoro/release/ruby/macos/ruby/ruby_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
set -ex

# Build protoc
use_bazel.sh 5.1.1
bazel build //:protoc
export PROTOC=$PWD/bazel-bin/protoc

Expand Down
4 changes: 4 additions & 0 deletions kokoro/release/ruby/macos/ruby/ruby_build_environment.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

set -ex

# Fix permissions
sudo chown -R $(whoami) $HOME/.rvm/
sudo chown -R $(whoami) /Library/Ruby/

set +ex # rvm script is very verbose and exits with errorcode

curl -sSL https://rvm.io/mpapis.asc | gpg --import -
Expand Down
11 changes: 0 additions & 11 deletions tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,6 @@ build_cpp() {
internal_build_cpp
make check -j$(nproc) || (cat src/test-suite.log; false)
cd conformance && make test_cpp && cd ..

# The benchmark code depends on cmake, so test if it is installed before
# trying to do the build.
if [[ $(type cmake 2>/dev/null) ]]; then
# Verify benchmarking code can build successfully.
cd benchmarks && make cpp-benchmark && cd ..
else
echo ""
echo "WARNING: Skipping validation of the benchmarking code, cmake isn't installed."
echo ""
fi
}

build_cpp_tcmalloc() {
Expand Down

0 comments on commit 40847c7

Please sign in to comment.