Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Kokoro tests to work on Monterey machines #10472

Merged
merged 20 commits into from
Aug 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
3 changes: 3 additions & 0 deletions kokoro/macos/objectivec_cocoapods_integration/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
source kokoro/macos/prepare_build_macos_rc

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 stable --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: 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
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
source $HOME/.rvm/scripts/rvm
set -e # rvm commands are very verbose
Expand Down
5 changes: 3 additions & 2 deletions objectivec/DevTools/full_mac_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,9 @@ fi
objectivec/generate_well_known_types.sh --check-only -j "${NUM_MAKE_JOBS}"

header "Checking on the ObjC Runtime Code"
objectivec/DevTools/pddm_tests.py
if ! objectivec/DevTools/pddm.py --dry-run objectivec/*.[hm] objectivec/Tests/*.[hm] ; then
LOCAL_PYTHON=python
"${LOCAL_PYTHON}" objectivec/DevTools/pddm_tests.py
if ! "${LOCAL_PYTHON}" objectivec/DevTools/pddm.py --dry-run objectivec/*.[hm] objectivec/Tests/*.[hm] ; then
echo ""
echo "Update by running:"
echo " objectivec/DevTools/pddm.py objectivec/*.[hm] objectivec/Tests/*.[hm]"
Expand Down
2 changes: 1 addition & 1 deletion objectivec/Tests/CocoaPods/run_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ do_test() {
# errors.
xcodebuild_args+=(
-sdk iphonesimulator ONLY_ACTIVE_ARCH=NO
-destination "platform=iOS Simulator,name=iPad 2,OS=9.3"
-destination "platform=iOS Simulator,name=iPad Air (5th generation),OS=15.4"
)
fi

Expand Down
15 changes: 2 additions & 13 deletions tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,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 bench marking code, cmake isn't installed."
echo ""
fi
}

build_cpp_tcmalloc() {
Expand Down Expand Up @@ -333,7 +322,7 @@ build_python() {
if [ $(uname -s) == "Linux" ]; then
envlist=py\{35,36\}-python
else
envlist=py\{36\}-python
envlist=py\{37\}-python
fi
python -m tox -e $envlist
cd ..
Expand Down Expand Up @@ -387,7 +376,7 @@ build_python_cpp() {
if [ $(uname -s) == "Linux" ]; then
envlist=py\{35,36\}-cpp
else
envlist=py\{36\}-cpp
envlist=py\{37\}-cpp
fi
tox -e $envlist
cd ..
Expand Down