From 3368f77f5068003faf07a24bd4506c7744e9408a Mon Sep 17 00:00:00 2001 From: Tamara Vazquez Schroeder <tamara.vazquez.schroeder@cern.ch> Date: Mon, 30 Oct 2017 19:20:32 +0000 Subject: [PATCH] Merge branch 'checkout-retry-ATLINFR-1817-21.X' into '21.0' Retry mechanism in checkout_atlasexternals.sh and checkout_Gaudi.sh (ATLINFR-1817) -> 21.X branches See merge request !5537 Former-commit-id: 310e28b343767e5124f71c6e092534156049e3b2 --- Build/AtlasBuildScripts/checkout_Gaudi.sh | 22 ++++++++++++++++--- .../checkout_atlasexternals.sh | 22 ++++++++++++++++--- 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/Build/AtlasBuildScripts/checkout_Gaudi.sh b/Build/AtlasBuildScripts/checkout_Gaudi.sh index 15851ec1313f..80dce55c1339 100755 --- a/Build/AtlasBuildScripts/checkout_Gaudi.sh +++ b/Build/AtlasBuildScripts/checkout_Gaudi.sh @@ -27,6 +27,22 @@ usage() { echo " in the source directory is left untouched." } +_max_retry_=5 + +_retry_ () { + local cmd="$*" + local n=0 + while ! $cmd ; do + if test $n -eq $_max_retry_ ; then + echo "ERROR: $cmd FAILED $_max_retry_ times. EXIT(1)" >&2 + exit 1 + fi + echo "WARNING: $cmd FAILED, retry in 30 sec ... " + sleep 30s + n=`expr $n + 1` + done +} + # Parse the command line arguments: TAGBRANCH="" SOURCEDIR="" @@ -86,12 +102,12 @@ echo " from: $GAUDIURL" if [ ! -d "${SOURCEDIR}" ]; then # Clone the repository: - git clone ${GAUDIURL} ${SOURCEDIR} + _retry_ git clone ${GAUDIURL} ${SOURCEDIR} else echo "${SOURCEDIR} already exists -> assume previous checkout" fi # Get the appropriate version of it: cd ${SOURCEDIR} -git fetch --prune origin -git checkout -f ${TAGBRANCH} +_retry_ git fetch --prune origin +_retry_ git checkout -f ${TAGBRANCH} diff --git a/Build/AtlasBuildScripts/checkout_atlasexternals.sh b/Build/AtlasBuildScripts/checkout_atlasexternals.sh index a9a64ce720f2..f946dbd58fa8 100755 --- a/Build/AtlasBuildScripts/checkout_atlasexternals.sh +++ b/Build/AtlasBuildScripts/checkout_atlasexternals.sh @@ -27,6 +27,22 @@ usage() { echo " in the source directory is left untouched." } +_max_retry_=5 + +_retry_ () { + local cmd="$*" + local n=0 + while ! $cmd ; do + if test $n -eq $_max_retry_ ; then + echo "ERROR: $cmd FAILED $_max_retry_ times. EXIT(1)" >&2 + exit 1 + fi + echo "WARNING: $cmd FAILED, retry in 30 sec ... " + sleep 30s + n=`expr $n + 1` + done +} + # Parse the command line arguments: TAGBRANCH="" SOURCEDIR="" @@ -86,12 +102,12 @@ echo " from: $EXTERNALSURL" if [ ! -d "${SOURCEDIR}" ]; then # Clone the repository: - git clone ${EXTERNALSURL} ${SOURCEDIR} + _retry_ git clone ${EXTERNALSURL} ${SOURCEDIR} else echo "${SOURCEDIR} already exists -> assume previous checkout" fi # Get the appropriate version of it: cd ${SOURCEDIR} -git fetch --prune origin -git checkout -f ${TAGBRANCH} +_retry_ git fetch --prune origin +_retry_ git checkout -f ${TAGBRANCH} -- GitLab