|
|
|
@ -27,62 +27,74 @@ if [ -n "$KOKORO_GITHUB_PULL_REQUEST_NUMBER" ]; then |
|
|
|
|
export RUN_TESTS_FLAGS="--filter_pr_tests --base_branch origin/$KOKORO_GITHUB_PULL_REQUEST_TARGET_BRANCH $RUN_TESTS_FLAGS" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
set +ex # rvm script is very verbose and exits with errorcode |
|
|
|
|
# Advice from https://github.com/Homebrew/homebrew-cask/issues/8629#issuecomment-68641176 |
|
|
|
|
brew update && brew upgrade brew-cask && brew cleanup && brew cask cleanup |
|
|
|
|
rvm --debug requirements ruby-2.5.0 |
|
|
|
|
source $HOME/.rvm/scripts/rvm |
|
|
|
|
set -e # rvm commands are very verbose |
|
|
|
|
time rvm install 2.5.0 |
|
|
|
|
rvm use 2.5.0 --default |
|
|
|
|
time gem install bundler -v 1.17.3 --no-ri --no-doc |
|
|
|
|
time gem install cocoapods --version 1.3.1 --no-ri --no-doc |
|
|
|
|
time gem install rake-compiler --no-ri --no-doc |
|
|
|
|
rvm osx-ssl-certs status all |
|
|
|
|
rvm osx-ssl-certs update all |
|
|
|
|
set -ex |
|
|
|
|
|
|
|
|
|
# cocoapods |
|
|
|
|
export LANG=en_US.UTF-8 |
|
|
|
|
# pre-fetch cocoapods master repo's most recent commit only |
|
|
|
|
mkdir -p ~/.cocoapods/repos |
|
|
|
|
time git clone --depth 1 https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master |
|
|
|
|
if [ "${PREPARE_BUILD_INSTALL_DEPS_RUBY}" == "true" ] |
|
|
|
|
then |
|
|
|
|
set +ex # rvm script is very verbose and exits with errorcode |
|
|
|
|
# Advice from https://github.com/Homebrew/homebrew-cask/issues/8629#issuecomment-68641176 |
|
|
|
|
brew update && brew upgrade brew-cask && brew cleanup && brew cask cleanup |
|
|
|
|
rvm --debug requirements ruby-2.5.0 |
|
|
|
|
source $HOME/.rvm/scripts/rvm |
|
|
|
|
set -e # rvm commands are very verbose |
|
|
|
|
time rvm install 2.5.0 |
|
|
|
|
rvm use 2.5.0 --default |
|
|
|
|
time gem install bundler -v 1.17.3 --no-ri --no-doc |
|
|
|
|
time gem install cocoapods --version 1.3.1 --no-ri --no-doc |
|
|
|
|
time gem install rake-compiler --no-ri --no-doc |
|
|
|
|
rvm osx-ssl-certs status all |
|
|
|
|
rvm osx-ssl-certs update all |
|
|
|
|
set -ex |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
# python |
|
|
|
|
time pip install --user virtualenv |
|
|
|
|
time pip install --user --upgrade Mako six tox setuptools twisted pyyaml pyjwt cryptography requests |
|
|
|
|
export PYTHONPATH=/Library/Python/3.4/site-packages |
|
|
|
|
if [ "${PREPARE_BUILD_INSTALL_DEPS_OBJC}" == "true" ] |
|
|
|
|
then |
|
|
|
|
# cocoapods |
|
|
|
|
export LANG=en_US.UTF-8 |
|
|
|
|
# pre-fetch cocoapods master repo's most recent commit only |
|
|
|
|
mkdir -p ~/.cocoapods/repos |
|
|
|
|
time git clone --depth 1 https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master |
|
|
|
|
|
|
|
|
|
# Install Python 3.7 and Python 3.8 |
|
|
|
|
time curl -O https://www.python.org/ftp/python/3.7.0/python-3.7.0-macosx10.9.pkg |
|
|
|
|
time curl -O https://www.python.org/ftp/python/3.8.0/python-3.8.0-macosx10.9.pkg |
|
|
|
|
echo "ae0717a02efea3b0eb34aadc680dc498 python-3.7.0-macosx10.9.pkg" > /tmp/python_installer_checksum.md5 |
|
|
|
|
echo "f5f9ae9f416170c6355cab7256bb75b5 python-3.8.0-macosx10.9.pkg" >> /tmp/python_installer_checksum.md5 |
|
|
|
|
md5sum -c /tmp/python_installer_checksum.md5 |
|
|
|
|
time sudo installer -pkg ./python-3.7.0-macosx10.9.pkg -target / |
|
|
|
|
time sudo installer -pkg ./python-3.8.0-macosx10.9.pkg -target / |
|
|
|
|
# set xcode version for Obj-C tests |
|
|
|
|
sudo xcode-select -switch /Applications/Xcode_9.2.app/Contents/Developer/ |
|
|
|
|
|
|
|
|
|
# set xcode version for Obj-C tests |
|
|
|
|
sudo xcode-select -switch /Applications/Xcode_9.2.app/Contents/Developer/ |
|
|
|
|
# Store intermediate build files of ObjC tests into /tmpfs |
|
|
|
|
# TODO(jtattermusch): why are we doing this? |
|
|
|
|
mkdir /tmpfs/Build-ios-binary-size |
|
|
|
|
ln -s /tmpfs/Build-ios-binary-size src/objective-c/examples/Sample/Build |
|
|
|
|
mkdir -p /tmpfs/DerivedData |
|
|
|
|
rm -rf ~/Library/Developer/Xcode/DerivedData |
|
|
|
|
mkdir -p ~/Library/Developer/Xcode |
|
|
|
|
ln -s /tmpfs/DerivedData ~/Library/Developer/Xcode/DerivedData |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
# Disable some unwanted dotnet options |
|
|
|
|
export NUGET_XMLDOC_MODE=skip |
|
|
|
|
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true |
|
|
|
|
export DOTNET_CLI_TELEMETRY_OPTOUT=true |
|
|
|
|
if [ "${PREPARE_BUILD_INSTALL_DEPS_PYTHON}" == "true" ] |
|
|
|
|
then |
|
|
|
|
# python |
|
|
|
|
time pip install --user virtualenv |
|
|
|
|
time pip install --user --upgrade Mako six tox setuptools twisted pyyaml pyjwt cryptography requests |
|
|
|
|
export PYTHONPATH=/Library/Python/3.4/site-packages |
|
|
|
|
|
|
|
|
|
# TODO(jtattermusch): better debugging of clock skew, remove once not needed |
|
|
|
|
date |
|
|
|
|
|
|
|
|
|
time git submodule update --init |
|
|
|
|
# Install Python 3.7 and Python 3.8 |
|
|
|
|
time curl -O https://www.python.org/ftp/python/3.7.0/python-3.7.0-macosx10.9.pkg |
|
|
|
|
time curl -O https://www.python.org/ftp/python/3.8.0/python-3.8.0-macosx10.9.pkg |
|
|
|
|
echo "ae0717a02efea3b0eb34aadc680dc498 python-3.7.0-macosx10.9.pkg" > /tmp/python_installer_checksum.md5 |
|
|
|
|
echo "f5f9ae9f416170c6355cab7256bb75b5 python-3.8.0-macosx10.9.pkg" >> /tmp/python_installer_checksum.md5 |
|
|
|
|
md5sum -c /tmp/python_installer_checksum.md5 |
|
|
|
|
time sudo installer -pkg ./python-3.7.0-macosx10.9.pkg -target / |
|
|
|
|
time sudo installer -pkg ./python-3.8.0-macosx10.9.pkg -target / |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
# Store intermediate build files of ObjC tests into /tmpfs |
|
|
|
|
mkdir /tmpfs/Build-ios-binary-size |
|
|
|
|
ln -s /tmpfs/Build-ios-binary-size src/objective-c/examples/Sample/Build |
|
|
|
|
mkdir -p /tmpfs/DerivedData |
|
|
|
|
rm -rf ~/Library/Developer/Xcode/DerivedData |
|
|
|
|
mkdir -p ~/Library/Developer/Xcode |
|
|
|
|
ln -s /tmpfs/DerivedData ~/Library/Developer/Xcode/DerivedData |
|
|
|
|
if [ "${PREPARE_BUILD_INSTALL_DEPS_CSHARP}" == "true" ] |
|
|
|
|
then |
|
|
|
|
# Disable some unwanted dotnet options |
|
|
|
|
export NUGET_XMLDOC_MODE=skip |
|
|
|
|
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true |
|
|
|
|
export DOTNET_CLI_TELEMETRY_OPTOUT=true |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
# PHP tests currently require using an older version of PHPUnit |
|
|
|
|
ln -sf /usr/local/bin/phpunit-5.7 /usr/local/bin/phpunit |
|
|
|
|
|
|
|
|
|
# TODO(jtattermusch): better debugging of clock skew, remove once not needed |
|
|
|
|
date |
|
|
|
|
|
|
|
|
|
time git submodule update --init |
|
|
|
|