X-Git-Url: https://git.arvados.org/arvados-dev.git/blobdiff_plain/7cf1194ba3e69a861a7f88740cd6490193339e67..858cd93950d0fd7b621e9e4656261856e60856ad:/jenkins/run-docker-tests.sh diff --git a/jenkins/run-docker-tests.sh b/jenkins/run-docker-tests.sh index fccdb23..5be7b99 100755 --- a/jenkins/run-docker-tests.sh +++ b/jenkins/run-docker-tests.sh @@ -8,11 +8,57 @@ title () { printf "\n%*s\n\n" $(((${#title}+$COLUMNS)/2)) "********** $1 **********" } +docker_push () { + # Sometimes docker push fails; retry it a few times if necessary. + for i in `seq 1 5`; do + $DOCKER push $* + ECODE=$? + if [[ "$ECODE" == "0" ]]; then + break + fi + done + + if [[ "$ECODE" != "0" ]]; then + title "!!!!!! docker push $* failed !!!!!!" + EXITCODE=$(($EXITCODE + $ECODE)) + fi +} + +timer_reset() { + t0=$SECONDS +} + +timer() { + echo -n "$(($SECONDS - $t0))s" +} + +# Sanity check +if ! [[ -n "$WORKSPACE" ]]; then + echo >&2 + echo >&2 "Error: WORKSPACE environment variable not set" + echo >&2 + exit 1 +fi + echo $WORKSPACE +# find the docker binary +DOCKER=`which docker.io` + +if [[ "$DOCKER" == "" ]]; then + DOCKER=`which docker` +fi + +if [[ "$DOCKER" == "" ]]; then + title "Error: you need to have docker installed. Could not find the docker executable." + exit 1 +fi + # DOCKER title "Starting docker build" +timer_reset + # clean up the docker build environment cd "$WORKSPACE" cd docker @@ -32,10 +78,31 @@ if [[ "$ECODE" != "0" ]]; then EXITCODE=$(($EXITCODE + $ECODE)) fi -title "docker build complete" +title "docker build complete (`timer`)" + +title "uploading images" + +timer_reset + +if [[ "$ECODE" == "0" ]]; then + docker_push arvados/api + docker_push arvados/compute + docker_push arvados/doc + docker_push arvados/workbench + docker_push arvados/keep + docker_push arvados/keepproxy + docker_push arvados/shell + docker_push arvados/sso +else + title "upload arvados images SKIPPED because build failed" +fi + +title "upload arvados images complete (`timer`)" title "Starting docker java-bwa-samtools build" +timer_reset + ./build.sh java-bwa-samtools-image ECODE=$? @@ -45,6 +112,17 @@ if [[ "$ECODE" != "0" ]]; then EXITCODE=$(($EXITCODE + $ECODE)) fi -title "docker build java-bwa-samtools complete" +title "docker build java-bwa-samtools complete (`timer`)" + +title "upload arvados/jobs image" + +timer_reset +if [[ "$ECODE" == "0" ]]; then + docker_push arvados/jobs +else + title "upload arvados/jobs image SKIPPED because build failed" +fi + +title "upload arvados/jobs image complete (`timer`)" exit $EXITCODE