From fda550f24651e823fb94e8fb8ea689bb31a3efb8 Mon Sep 17 00:00:00 2001
From: Tulay Cuhadar Donszelmann <tcuhadar@cern.ch>
Date: Mon, 19 Mar 2018 12:59:35 +0100
Subject: [PATCH] update for better nightly runtime setup

---
 Tools/ART/scripts/art-task-build.sh | 56 +++++++++++++++--------------
 1 file changed, 30 insertions(+), 26 deletions(-)

diff --git a/Tools/ART/scripts/art-task-build.sh b/Tools/ART/scripts/art-task-build.sh
index 8a0c3b798b2..c7f00ed941a 100755
--- a/Tools/ART/scripts/art-task-build.sh
+++ b/Tools/ART/scripts/art-task-build.sh
@@ -3,8 +3,6 @@
 # arguments: RELEASE_BASE, PROJECT, PLATFORM, DATESTAMP
 # author : Tulay Cuhadar Donszelmann <tcuhadar@cern.ch>, Emil Obreshkov <Emil.Obreshkov@cern.ch>
 
-date
-
 echo "INFO: Script executed by $(whoami) on $(date)"
 
 RELEASE_BASE=$1
@@ -12,46 +10,52 @@ PROJECT=$2
 PLATFORM=$3
 DATESTAMP=$4
 
-BRANCH=`echo ${RELEASE_BASE} |tr "/" " " |awk '{print $5}'`
-echo BRANCH $BRANCH
+BRANCH="$(echo "${RELEASE_BASE}" | tr '/' ' ' | awk '{print $5}')"
+echo BRANCH "${BRANCH}"
 
 if [ -d /cvmfs/atlas.cern.ch/repo/sw/tdaq ]; then
    echo "WARNING: Setting TDAQ_RELEASE_BASE to /cvmfs/atlas.cern.ch/repo/sw/tdaq"
    export TDAQ_RELEASE_BASE=/cvmfs/atlas.cern.ch/repo/sw/tdaq
 else
-   echo "Error: Cannot find TDAQ software installation"
+   echo "ERROR: Cannot find TDAQ software installation"
    return 1
 fi
 
-[[ "${ATLAS_LOCAL_ROOT_BASE}" = "" ]] && export ATLAS_LOCAL_ROOT_BASE="/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase"
-source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh --quiet
-lsetup -a testing asetup
-asetup ${PROJECT} --platform ${PLATFORM} --releasebase ${RELEASE_BASE}/build/install --noLcgReleaseBase
+export ATLAS_LOCAL_ROOT_BASE="${ATLAS_LOCAL_ROOT_BASE:-/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase}"
+# shellcheck source=/dev/null
+source "${ATLAS_LOCAL_ROOT_BASE}"/user/atlasLocalSetup.sh --quiet
+if [ "${BRANCH}" == "master" ]; then
+   lsetup -a testing asetup
+   echo "INFO: setting up for master"
+else
+   lsetup -a current asetup
+   echo "INFO: setting up for ${BRANCH}"
+fi
+asetup "${PROJECT}" --platform "${PLATFORM}" --releasebase "${RELEASE_BASE}"/build/install --noLcgReleaseBase
+
 
 # setup AtlasBuildBranch since that is not set bu the above asetup for the local build setup
-export AtlasBuildBranch=$BRANCH
+export AtlasBuildBranch=${BRANCH}
 # for nightly testing point AtlasVersion to AtlasBuildStamp
-export AtlasVersion=$AtlasBuildStamp
+export AtlasVersion="${AtlasBuildStamp}"
 
-echo "TDAQ_RELEASE_BASE = " $TDAQ_RELEASE_BASE
-echo "AtlasBuildBranch = " $AtlasBuildBranch
-echo "AtlasProject = " $AtlasProject
-echo "AtlasBuildStamp = " $AtlasBuildStamp
-echo "AtlasVersion = " $AtlasVersion
+echo "TDAQ_RELEASE_BASE = ${TDAQ_RELEASE_BASE}"
+echo "AtlasBuildBranch = ${AtlasBuildBranch}"
+echo "AtlasProject = ${AtlasProject}"
+echo "AtlasBuildStamp  = ${AtlasBuildStamp}"
+echo "AtlasVersion = ${AtlasVersion}"
 
-ART_DIRECTORY=`which art.py`
-ART_VERSION=`art.py --version`
+ART_DIRECTORY=$(command -v art.py)
+ART_VERSION=$(art.py --version)
 echo "INFO: Using ART version ${ART_VERSION} in ${ART_DIRECTORY} directory"
 
 # run build tests
 SUBDIR=${BRANCH}/${PROJECT}/${PLATFORM}/${DATESTAMP}
 OUTDIR="${RELEASE_BASE}/art-build/${SUBDIR}"
 CMD="art.py run ${RELEASE_BASE}/build/install/${PROJECT}/*/InstallArea/${PLATFORM}/src ${OUTDIR}"
-echo ${CMD}
-RESULT=`eval "${CMD}"`
-echo ${RESULT}
-
-date
+echo "${CMD}"
+RESULT=$(eval "${CMD}")
+echo "${RESULT}"
 
 # copy the test results to EOS area
 if [ -z "${EOS_MGM_URL}" ]; then
@@ -63,7 +67,7 @@ fi
 
 TARGETDIR=/eos/atlas/atlascerngroupdisk/data-art/build-output/${SUBDIR}
 if [[ ! -e ${TARGETDIR} ]]; then
-  echo Target directory ${TARGETDIR}
-  eos mkdir -p ${TARGETDIR}
-  xrdcp -vr ${OUTDIR} ${TARGETDIR}
+  echo Target directory "${TARGETDIR}"
+  eos mkdir -p "${TARGETDIR}"
+  xrdcp -vr "${OUTDIR}" "${TARGETDIR}"
 fi
-- 
GitLab