Protocol Buffers - Google's data interchange format (grpc依赖) https://developers.google.com/protocol-buffers/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.2 KiB

#!/bin/bash
#
# This script sets up a Kokoro MacOS worker for running Protobuf tests
Update the brew workflow - Remove the `brew install`; the kokoro image already has it, just update/upgrade instead. - Remove `prune`, logs had: """ Error: Unknown command: prune """ - Remove `uninstall`, logs had: """ Error: Refusing to uninstall /usr/local/Cellar/cmake/3.16.4 and /usr/local/Cellar/icu4c/64.2 because they are required by ceres-solver, ffmpeg, harfbuzz, libass and opencv, which are currently installed. You can override this and force removal with: brew uninstall --ignore-dependencies node icu4c cmake wget """ - Skip installing some things since they are already in the base image, logs had: """ Warning: gflags 2.2.2 is already installed and up-to-date To reinstall 2.2.2, run `brew reinstall gflags` Warning: openssl@1.1 1.1.1g is already installed and up-to-date To reinstall 1.1.1g, run `brew reinstall openssl@1.1` Warning: pcre 8.44 is already installed and up-to-date To reinstall 8.44, run `brew reinstall pcre` """ - Don't install gpg gpg2 as gnupg is already installed, also use gpg instead of gpg2 for commands (and update the commands), logs had: """ kokoro/macos/prepare_build_macos_rc: line 44: gpg2: command not found kokoro/macos/prepare_build_macos_rc: line 45: gpg2: command not found """ - Add env guards to control all the option installs and only request them be installed in the cases that need it. This avoids having to install/update the things like ruby when some other tool only needed in some configs is install differently and could have conflicts. - Switch to brew for cocoapods to avoid compat issues on the supporting libraries.
5 years ago
set -eux
export HOMEBREW_PREFIX=$(brew --prefix)
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 # Do not automatically update packages.
##
# Select Xcode version
export DEVELOPER_DIR=/Applications/Xcode_14.app/Contents/Developer
sudo xcode-select -s "${DEVELOPER_DIR}"
##
# Use Python 2 by default (for googletest)
pyenv global 2.7.18
##
# Setup RVM
Update the brew workflow - Remove the `brew install`; the kokoro image already has it, just update/upgrade instead. - Remove `prune`, logs had: """ Error: Unknown command: prune """ - Remove `uninstall`, logs had: """ Error: Refusing to uninstall /usr/local/Cellar/cmake/3.16.4 and /usr/local/Cellar/icu4c/64.2 because they are required by ceres-solver, ffmpeg, harfbuzz, libass and opencv, which are currently installed. You can override this and force removal with: brew uninstall --ignore-dependencies node icu4c cmake wget """ - Skip installing some things since they are already in the base image, logs had: """ Warning: gflags 2.2.2 is already installed and up-to-date To reinstall 2.2.2, run `brew reinstall gflags` Warning: openssl@1.1 1.1.1g is already installed and up-to-date To reinstall 1.1.1g, run `brew reinstall openssl@1.1` Warning: pcre 8.44 is already installed and up-to-date To reinstall 8.44, run `brew reinstall pcre` """ - Don't install gpg gpg2 as gnupg is already installed, also use gpg instead of gpg2 for commands (and update the commands), logs had: """ kokoro/macos/prepare_build_macos_rc: line 44: gpg2: command not found kokoro/macos/prepare_build_macos_rc: line 45: gpg2: command not found """ - Add env guards to control all the option installs and only request them be installed in the cases that need it. This avoids having to install/update the things like ruby when some other tool only needed in some configs is install differently and could have conflicts. - Switch to brew for cocoapods to avoid compat issues on the supporting libraries.
5 years ago
if [[ "${KOKORO_INSTALL_RVM:-}" == "yes" ]] ; then
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
Update the brew workflow - Remove the `brew install`; the kokoro image already has it, just update/upgrade instead. - Remove `prune`, logs had: """ Error: Unknown command: prune """ - Remove `uninstall`, logs had: """ Error: Refusing to uninstall /usr/local/Cellar/cmake/3.16.4 and /usr/local/Cellar/icu4c/64.2 because they are required by ceres-solver, ffmpeg, harfbuzz, libass and opencv, which are currently installed. You can override this and force removal with: brew uninstall --ignore-dependencies node icu4c cmake wget """ - Skip installing some things since they are already in the base image, logs had: """ Warning: gflags 2.2.2 is already installed and up-to-date To reinstall 2.2.2, run `brew reinstall gflags` Warning: openssl@1.1 1.1.1g is already installed and up-to-date To reinstall 1.1.1g, run `brew reinstall openssl@1.1` Warning: pcre 8.44 is already installed and up-to-date To reinstall 8.44, run `brew reinstall pcre` """ - Don't install gpg gpg2 as gnupg is already installed, also use gpg instead of gpg2 for commands (and update the commands), logs had: """ kokoro/macos/prepare_build_macos_rc: line 44: gpg2: command not found kokoro/macos/prepare_build_macos_rc: line 45: gpg2: command not found """ - Add env guards to control all the option installs and only request them be installed in the cases that need it. This avoids having to install/update the things like ruby when some other tool only needed in some configs is install differently and could have conflicts. - Switch to brew for cocoapods to avoid compat issues on the supporting libraries.
5 years ago
# "Install" valgrind if it doesn't exist
##
if [ ! -x "$(command -v valgrind)" ]; then
echo "#! /bin/bash" > valgrind
chmod ug+x valgrind
sudo mv valgrind /usr/local/bin/valgrind
Update the brew workflow - Remove the `brew install`; the kokoro image already has it, just update/upgrade instead. - Remove `prune`, logs had: """ Error: Unknown command: prune """ - Remove `uninstall`, logs had: """ Error: Refusing to uninstall /usr/local/Cellar/cmake/3.16.4 and /usr/local/Cellar/icu4c/64.2 because they are required by ceres-solver, ffmpeg, harfbuzz, libass and opencv, which are currently installed. You can override this and force removal with: brew uninstall --ignore-dependencies node icu4c cmake wget """ - Skip installing some things since they are already in the base image, logs had: """ Warning: gflags 2.2.2 is already installed and up-to-date To reinstall 2.2.2, run `brew reinstall gflags` Warning: openssl@1.1 1.1.1g is already installed and up-to-date To reinstall 1.1.1g, run `brew reinstall openssl@1.1` Warning: pcre 8.44 is already installed and up-to-date To reinstall 8.44, run `brew reinstall pcre` """ - Don't install gpg gpg2 as gnupg is already installed, also use gpg instead of gpg2 for commands (and update the commands), logs had: """ kokoro/macos/prepare_build_macos_rc: line 44: gpg2: command not found kokoro/macos/prepare_build_macos_rc: line 45: gpg2: command not found """ - Add env guards to control all the option installs and only request them be installed in the cases that need it. This avoids having to install/update the things like ruby when some other tool only needed in some configs is install differently and could have conflicts. - Switch to brew for cocoapods to avoid compat issues on the supporting libraries.
5 years ago
fi
##
# Install Virtual Python Environment
if [[ "${KOKORO_INSTALL_VENV:-}" == "yes" ]] ; then
python3 -m venv venv
source venv/bin/activate
fi