#!/bin/bash
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
function usage {
echo >&2
echo >&2 "usage: $0 [options]"
echo >&2
echo >&2 "$0 options:"
+ echo >&2 " -t, --tags version tag for docker"
echo >&2 " -u, --upload Upload the images (docker push)"
echo >&2 " --no-cache Don't use build cache"
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).
exit 1
;;
*)
- echo "WARNING: --tags is deprecated and doesn't do anything";
+ version_tag="$2";
shift 2
;;
esac
python_sdk_ts=$(cd sdk/python && timestamp_from_git)
cwl_runner_ts=$(cd sdk/cwl && timestamp_from_git)
-python_sdk_version=$(cd sdk/python && nohash_version_from_git 0.1)-2
-cwl_runner_version=$(cd sdk/cwl && nohash_version_from_git 1.0)-3
+python_sdk_version=$(cd sdk/python && nohash_version_from_git 0.1)
+cwl_runner_version=$(cd sdk/cwl && nohash_version_from_git 1.0)
if [[ $python_sdk_ts -gt $cwl_runner_ts ]]; then
- cwl_runner_version=$(cd sdk/python && nohash_version_from_git 1.0)-3
- gittag=$(git log --first-parent --max-count=1 --format=format:%H sdk/python)
-else
- gittag=$(git log --first-parent --max-count=1 --format=format:%H sdk/cwl)
+ cwl_runner_version=$(cd sdk/python && nohash_version_from_git 1.0)
fi
echo cwl_runner_version $cwl_runner_version python_sdk_version $python_sdk_version
cd docker/jobs
docker build $NOCACHE \
- --build-arg python_sdk_version=$python_sdk_version \
- --build-arg cwl_runner_version=$cwl_runner_version \
- -t arvados/jobs:$gittag .
+ --build-arg python_sdk_version=${python_sdk_version}-2 \
+ --build-arg cwl_runner_version=${cwl_runner_version}-3 \
+ -t arvados/jobs:$cwl_runner_version .
ECODE=$?
# -f flag removed in Docker 1.12
FORCE=-f
fi
-
-docker tag $FORCE arvados/jobs:$gittag arvados/jobs:latest
+if ! [[ -z "$version_tag" ]]; then
+ docker tag $FORCE arvados/jobs:$cwl_runner_version arvados/jobs:"$version_tag"
+else
+ docker tag $FORCE arvados/jobs:$cwl_runner_version arvados/jobs:latest
+fi
ECODE=$?
## 20150526 nico -- *sometimes* dockerhub needs re-login
## even though credentials are already in .dockercfg
docker login -u arvados
-
- docker_push arvados/jobs:$gittag
- docker_push arvados/jobs:latest
+ if ! [[ -z "$version_tag" ]]; then
+ docker_push arvados/jobs:"$version_tag"
+ else
+ docker_push arvados/jobs:$cwl_runner_version
+ docker_push arvados/jobs:latest
+ fi
title "upload arvados images finished (`timer`)"
else
title "upload arvados images SKIPPED because no --upload option set (`timer`)"