[ARVADOS-DEV] created: 6a1a627a78a021aa164bfd1136bb5396e1defd95

git at public.curoverse.com git at public.curoverse.com
Thu May 21 14:36:57 EDT 2015


        at  6a1a627a78a021aa164bfd1136bb5396e1defd95 (commit)


commit 6a1a627a78a021aa164bfd1136bb5396e1defd95
Author: Nico Cesar <nico at nicocesar.com>
Date:   Thu May 21 14:35:54 2015 -0400

    6035: add support for --upload as an option
    
    refs #6035

diff --git a/jenkins/run-docker-tests.sh b/jenkins/run-docker-tests.sh
index 5be7b99..5dcc167 100755
--- a/jenkins/run-docker-tests.sh
+++ b/jenkins/run-docker-tests.sh
@@ -1,27 +1,68 @@
 #!/bin/bash
 
+function usage {
+    echo >&2
+    echo >&2 "usage: $0 [options]"
+    echo >&2
+    echo >&2 "$0 options:"
+    echo >&2 "  -u, --upload                  Upload the images (docker push)"
+    echo >&2 "  -h, --help                    Display this help and exit"
+    echo >&2
+    echo >&2 "  If no options are given, just builds the images."
+}
+
+upload=false
+
+# NOTE: This requires GNU getopt (part of the util-linux package on Debian-based distros).
+TEMP=`getopt -o hu \
+    --long help,upload \
+    -n "$0" -- "$@"`
+
+if [ $? != 0 ] ; then echo "Use -h for help"; exit 1 ; fi
+# Note the quotes around `$TEMP': they are essential!
+eval set -- "$TEMP"
+
+while [ $# -ge 1 ]
+do
+    case $1 in
+        -u | --upload)
+            upload=true
+            shift
+            ;;
+        --)
+            shift
+            break
+            ;;
+        *)
+            usage
+            exit 1
+            ;;
+    esac
+done
+
+
 EXITCODE=0
 
 COLUMNS=80
 
 title () {
-  printf "\n%*s\n\n" $(((${#title}+$COLUMNS)/2)) "********** $1 **********"
+    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
+    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
-  done
-
-  if [[ "$ECODE" != "0" ]]; then
-    title "!!!!!! docker push $* failed !!!!!!"
-    EXITCODE=$(($EXITCODE + $ECODE))
-  fi
 }
 
 timer_reset() {
@@ -34,10 +75,10 @@ timer() {
 
 # Sanity check
 if ! [[ -n "$WORKSPACE" ]]; then
-  echo >&2
-  echo >&2 "Error: WORKSPACE environment variable not set"
-  echo >&2
-  exit 1
+    echo >&2
+    echo >&2 "Error: WORKSPACE environment variable not set"
+    echo >&2
+    exit 1
 fi
 
 echo $WORKSPACE
@@ -46,12 +87,12 @@ echo $WORKSPACE
 DOCKER=`which docker.io`
 
 if [[ "$DOCKER" == "" ]]; then
-  DOCKER=`which docker`
+    DOCKER=`which docker`
 fi
 
 if [[ "$DOCKER" == "" ]]; then
-  title "Error: you need to have docker installed. Could not find the docker executable."
-  exit 1
+    title "Error: you need to have docker installed. Could not find the docker executable."
+    exit 1
 fi
 
 # DOCKER
@@ -74,8 +115,8 @@ cp $HOME/docker/config.yml .
 ECODE=$?
 
 if [[ "$ECODE" != "0" ]]; then
-  title "!!!!!! docker BUILD FAILED !!!!!!"
-  EXITCODE=$(($EXITCODE + $ECODE))
+    title "!!!!!! docker BUILD FAILED !!!!!!"
+    EXITCODE=$(($EXITCODE + $ECODE))
 fi
 
 title "docker build complete (`timer`)"
@@ -84,21 +125,24 @@ 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
+if [[ ! "$ECODE" == "0" ]]; then
+    title "upload arvados images SKIPPED because build failed"
 else
-  title "upload arvados images SKIPPED because build failed"
+    if [[ $upload == true ]]; 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
+        title "upload arvados images complete (`timer`)"
+    else
+        title "upload arvados images SKIPPED because no --upload option set"
+    fi
 fi
 
-title "upload arvados images complete (`timer`)"
-
 title "Starting docker java-bwa-samtools build"
 
 timer_reset
@@ -108,21 +152,24 @@ timer_reset
 ECODE=$?
 
 if [[ "$ECODE" != "0" ]]; then
-  title "!!!!!! docker java-bwa-samtools BUILD FAILED !!!!!!"
-  EXITCODE=$(($EXITCODE + $ECODE))
+    title "!!!!!! docker java-bwa-samtools BUILD FAILED !!!!!!"
+    EXITCODE=$(($EXITCODE + $ECODE))
 fi
 
 title "docker build java-bwa-samtools complete (`timer`)"
 
-title "upload arvados/jobs image"
-
 timer_reset
-if [[ "$ECODE" == "0" ]]; then
-  docker_push arvados/jobs
+
+if [[ ! "$ECODE" == "0" ]]; then
+    title "upload arvados/jobs image SKIPPED because build failed"
 else
-  title "upload arvados/jobs image SKIPPED because build failed"
+    if [[ $upload == true ]]; then 
+        title "upload arvados/jobs image"
+        docker_push arvados/jobs
+        title "upload arvados/jobs image complete (`timer`)"
+    else
+        title "upload arvados images SKIPPED because no --upload option set"
+    fi
 fi
 
-title "upload arvados/jobs image complete (`timer`)"
-
 exit $EXITCODE

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list