#!/bin/bash -ex -o pipefail # # Build file to set up and run tests # # Set up logging output location # : ${KOKORO_ARTIFACTS_DIR:=/tmp/protobuf_test_logs} : ${BUILD_LOGDIR:=$KOKORO_ARTIFACTS_DIR/logs} mkdir -p ${BUILD_LOGDIR} # # Change to repo root # if [[ -h /tmpfs ]] && [[ ${PWD} == /tmpfs/src ]]; then # Workaround for internal Kokoro bug: b/227401944 cd /Volumes/BuildData/tmpfs/src/github/protobuf else cd $(dirname $0)/../../.. fi # # Update submodules # git submodule update --init --recursive # # Configure and build in a separate directory # mkdir -p cmake/build cd cmake/build cmake -G Xcode ../.. \ 2>&1 | tee ${BUILD_LOGDIR}/01_configure.log cp CMakeFiles/CMake*.log ${BUILD_LOGDIR} cmake --build . --config Debug \ 2>&1 | tee ${BUILD_LOGDIR}/02_build.log # # Run tests # ctest -C Debug --verbose --quiet \ --output-log ${BUILD_LOGDIR}/03_test.log # # Compress outputs # gzip ${BUILD_LOGDIR}/*.log