X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/47e59a35d5ed9b2cdb052894d741972324058505..84b30d024ee757e32af7e05d00bf4324513c388c:/build/run-build-docker-jobs-image.sh diff --git a/build/run-build-docker-jobs-image.sh b/build/run-build-docker-jobs-image.sh index fb970affb4..83bb5ae716 100755 --- a/build/run-build-docker-jobs-image.sh +++ b/build/run-build-docker-jobs-image.sh @@ -8,13 +8,13 @@ function usage { 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). @@ -45,7 +45,7 @@ do exit 1 ;; *) - echo "WARNING: --tags is deprecated and doesn't do anything"; + version_tag="$2"; shift 2 ;; esac @@ -118,6 +118,11 @@ timer_reset # clean up the docker build environment cd "$WORKSPACE" +if [[ -z "$ARVADOS_BUILDING_VERSION" ]] && ! [[ -z "$version_tag" ]]; then + ARVADOS_BUILDING_VERSION="$version_tag" + ARVADOS_BUILDING_ITERATION="1" +fi + python_sdk_ts=$(cd sdk/python && timestamp_from_git) cwl_runner_ts=$(cd sdk/cwl && timestamp_from_git) @@ -130,11 +135,25 @@ fi echo cwl_runner_version $cwl_runner_version python_sdk_version $python_sdk_version +if [[ "${python_sdk_version}" != "${ARVADOS_BUILDING_VERSION}" ]]; then + python_sdk_version="${python_sdk_version}-2" +else + python_sdk_version="${ARVADOS_BUILDING_VERSION}-${ARVADOS_BUILDING_ITERATION}" +fi + +cwl_runner_version_orig=$cwl_runner_version + +if [[ "${cwl_runner_version}" != "${ARVADOS_BUILDING_VERSION}" ]]; then + cwl_runner_version="${cwl_runner_version}-4" +else + cwl_runner_version="${ARVADOS_BUILDING_VERSION}-${ARVADOS_BUILDING_ITERATION}" +fi + cd docker/jobs docker build $NOCACHE \ - --build-arg python_sdk_version=${python_sdk_version}-2 \ - --build-arg cwl_runner_version=${cwl_runner_version}-3 \ - -t arvados/jobs:$cwl_runner_version . + --build-arg python_sdk_version=${python_sdk_version} \ + --build-arg cwl_runner_version=${cwl_runner_version} \ + -t arvados/jobs:$cwl_runner_version_orig . ECODE=$? @@ -156,8 +175,11 @@ if docker --version |grep " 1\.[0-9]\." ; then # -f flag removed in Docker 1.12 FORCE=-f fi - -docker tag $FORCE arvados/jobs:$cwl_runner_version arvados/jobs:latest +if ! [[ -z "$version_tag" ]]; then + docker tag $FORCE arvados/jobs:$cwl_runner_version_orig arvados/jobs:"$version_tag" +else + docker tag $FORCE arvados/jobs:$cwl_runner_version_orig arvados/jobs:latest +fi ECODE=$? @@ -179,9 +201,12 @@ else ## 20150526 nico -- *sometimes* dockerhub needs re-login ## even though credentials are already in .dockercfg docker login -u arvados - - docker_push arvados/jobs:$cwl_runner_version - docker_push arvados/jobs:latest + if ! [[ -z "$version_tag" ]]; then + docker_push arvados/jobs:"$version_tag" + else + docker_push arvados/jobs:$cwl_runner_version_orig + docker_push arvados/jobs:latest + fi title "upload arvados images finished (`timer`)" else title "upload arvados images SKIPPED because no --upload option set (`timer`)"