#!/bin/bash # Configures builds for our CI environment. # Print commands and exit on error. set -ex if [ "$KOKORO_BUILD_ID" ]; then echo "Running job $KOKORO_JOB_NAME" TARGET=`echo "$KOKORO_JOB_NAME" | awk -F "/" '{print $NF}'` fi if [ ! "$TARGET" ]; then if [ "$1" ]; then TARGET=$1 else TARGET=release fi fi echo "Building $TARGET target" pushd `dirname $0`/../../.. > /dev/null BUILD_RELEASE= BUILD_DEBUG= BUILD_CMAKE= RUN_TESTS= if [ "$TARGET" == "presubmit" ]; then BUILD_DEBUG=1 BUILD_RELEASE=1 BUILD_CMAKE=1 RUN_TESTS=1 fi if [ "$TARGET" == "debug" ]; then BUILD_DEBUG=1 fi if [ "$TARGET" == "release" ]; then BUILD_RELEASE=1 fi if [ "$TARGET" == "continuous" ]; then BUILD_DEBUG=1 BUILD_RELEASE=1 BUILD_CMAKE=1 RUN_TESTS=1 fi if [ "$BUILD_DEBUG" == "1" ]; then echo "Starting debug build" bazel build -c dbg //... if [ "$RUN_TESTS" == "1" ]; then bazel test -c dbg //... fi fi if [ "$BUILD_RELEASE" == "1" ]; then echo "Starting release build" bazel build -c opt //... if [ "$RUN_TESTS" == "1" ]; then bazel test -c opt //... fi fi if [ "$BUILD_CMAKE" == "1" ]; then echo "Starting cmake build" mkdir build pushd build cmake .. make -j$((`nproc`+1)) popd fi