From 556abf78135ffe64b29b731b4a80dacb7e3599f6 Mon Sep 17 00:00:00 2001 From: Jeff McGlynn Date: Wed, 23 Jan 2019 16:16:09 -0800 Subject: Add a CI script for Linux --- tools/build-ci/linux/build.sh | 76 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100755 tools/build-ci/linux/build.sh diff --git a/tools/build-ci/linux/build.sh b/tools/build-ci/linux/build.sh new file mode 100755 index 0000000..9f08806 --- /dev/null +++ b/tools/build-ci/linux/build.sh @@ -0,0 +1,76 @@ +#!/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 -- cgit v1.2.3