From c661c20db00437f552f474fbe4407ec817a38132 Mon Sep 17 00:00:00 2001 From: Thomas Vachuska Date: Wed, 8 Aug 2018 14:42:10 -0700 Subject: [PATCH] Enhancing cell-build to provide option to use shared cache. Change-Id: I8ddd43cfec6bd0c6ce9acbbaa18ab0bad53307f0 --- tools/dev/bin/cell-build | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/tools/dev/bin/cell-build b/tools/dev/bin/cell-build index 85b4467a52..8169ab06ef 100755 --- a/tools/dev/bin/cell-build +++ b/tools/dev/bin/cell-build @@ -6,19 +6,23 @@ # Check environment [ -z "$OCN" ] && echo "Cell environment not established" && exit 1 -runTests="" +runTests=false +useCache=false -while getopts b:t?h o; do +while getopts b:ct?h o; do case "$o" in b) branch=$OPTARG;; + c) useCache=true;; t) runTests=true;; - *) echo "usage: cell-build [-b branch] [-t] [commitHash]" >&2; exit 1;; + *) echo "usage: cell-build [-b branch] [-ct] [commitHash]" >&2; exit 1;; esac done let OPC=$OPTIND-1 shift $OPC +! git status &>/dev/null && echo "Not in a git workspace. Exiting..." && exit $? + # Check arguments and environment branch=${branch:-origin/master} baseCommit=${1:-$(git log | grep $branch | head -n1 | cut -d\ -f2)} @@ -41,17 +45,19 @@ ssh -t -t $ONOS_USER@$OCN " remoteCommit=\$(git log -n 1 | head -n1 | cut -d\ -f2) if [ "\$remoteCommit" != "$baseCommit" ]; then git checkout master - git pull + git pull --no-stat git checkout $baseCommit fi # Apply the patch if necessary [ -s /tmp/$baseCommit.patch ] && git apply /tmp/$baseCommit.patch + # Promote the common bazelrc file to enable running against the cells cache + [ $useCache = true ] && cp ~/.bazelrc .bazelrc + # Run the build (neutralizing known environment mutations in SSH sessions) set -e SHLVL=1 SSH_CLIENT=0 SSH_CONNECTION=0 bazel build onos - if [ $runTests = true ]; then + [ $runTests = true ] && \ bazel query 'tests(//...)' | SHLVL=1 SSH_CLIENT=0 SSH_CONNECTION=0 xargs bazel test - fi "