X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/479b879e96bf60332b9a436e4ef4e5de517f028b..15d64feed20daa4a422ff9092615ac1e295d5ca2:/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 ec8357701d..59914a2ee9 100755 --- a/build/run-build-docker-jobs-image.sh +++ b/build/run-build-docker-jobs-image.sh @@ -149,7 +149,18 @@ else python_sdk_version="${ARVADOS_BUILDING_VERSION}-${ARVADOS_BUILDING_ITERATION}" fi -cwl_runner_version_orig=$cwl_runner_version +# What we use to tag the Docker image. For development and release +# candidate packages, the OS package has a "~dev" or "~rc" suffix, but +# Python requires a ".dev" or "rc" suffix. Arvados-cwl-runner will be +# expecting the Python-compatible version string when it tries to pull +# the Docker image, but --build-arg is expecting the OS package +# version. +cwl_runner_version_tag=$(echo -n $cwl_runner_version | sed s/~dev/.dev/g | sed s/~rc/rc/g) + +if [[ -z "$cwl_runner_version_tag" ]]; then + echo "ERROR: cwl_runner_version_tag is empty"; + exit 1 +fi if [[ "${cwl_runner_version}" != "${ARVADOS_BUILDING_VERSION}" ]]; then cwl_runner_version="${cwl_runner_version}-1" @@ -162,7 +173,7 @@ docker build $NOCACHE \ --build-arg python_sdk_version=${python_sdk_version} \ --build-arg cwl_runner_version=${cwl_runner_version} \ --build-arg repo_version=${REPO} \ - -t arvados/jobs:$cwl_runner_version_orig . + -t arvados/jobs:$cwl_runner_version_tag . ECODE=$? @@ -185,40 +196,18 @@ if docker --version |grep " 1\.[0-9]\." ; then FORCE=-f fi -#docker export arvados/jobs:$cwl_runner_version_orig | docker import - arvados/jobs:$cwl_runner_version_orig - -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=$? - -if [[ "$ECODE" != "0" ]]; then - EXITCODE=$(($EXITCODE + $ECODE)) -fi - -checkexit $ECODE "docker tag" -title "docker tag complete (`timer`)" - title "uploading images" timer_reset -if [[ "$ECODE" != "0" ]]; then +if [[ "$EXITCODE" != "0" ]]; then title "upload arvados images SKIPPED because build or tag failed" else if [[ $upload == true ]]; then ## 20150526 nico -- *sometimes* dockerhub needs re-login ## even though credentials are already in .dockercfg docker login -u arvados - 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 + docker_push arvados/jobs:$cwl_runner_version_tag title "upload arvados images finished (`timer`)" else title "upload arvados images SKIPPED because no --upload option set (`timer`)"