#!/bin/bash

# exit on errors
set -eu -o pipefail

# initialize build environment
ONOS_ROOT=`pwd`
. tools/build/envDefaults

# initialize development environment for STC
export JAVA_HOME=
. tools/dev/bash_profile

PATH=$PATH:/home/jenkins/bin

# always free the cell when exiting
function cleanup {
  cell return jenkins-app-all-${ONOS_VERSION}
}

trap cleanup EXIT

# grab a cell to run on
cell borrow 30 1+1 jenkins-app-all-${ONOS_VERSION}

# build onos bits
bazel build onos

# set up STC parameters
topo default
export stcDumpLogs="true"
export stcColor="false"
export stcHaltOnError="false"
export TERM="vt100"

# run STC
stc setup && stc app-activate-all 
