}
docker_push () {
- $DOCKER push $*
-
- ECODE=$?
+ # 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 !!!!!!"
fi
}
+timer_reset() {
+ t0=$SECONDS
+}
+
+timer() {
+ echo -n "$(($SECONDS - $t0))s"
+}
+
# Sanity check
if ! [[ -n "$WORKSPACE" ]]; then
echo >&2
# DOCKER
title "Starting docker build"
+timer_reset
+
# clean up the docker build environment
cd "$WORKSPACE"
cd docker
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"
+title "upload arvados images complete (`timer`)"
title "Starting docker java-bwa-samtools build"
+timer_reset
+
./build.sh java-bwa-samtools-image
ECODE=$?
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"
+title "upload arvados/jobs image complete (`timer`)"
exit $EXITCODE