diff --git a/jenkins.bash b/jenkins.bash old mode 100644 new mode 100755 index 14fa32097..8fb9c9832 --- a/jenkins.bash +++ b/jenkins.bash @@ -1,24 +1,45 @@ -#!/usr/bin/bash +#!/bin/bash +if [ "$JENKINS_URL" == ""] +then + echo "Looks like we're not being run by Jenkins, this is dangerous" + echo "due to use of git clean -fdx command." + exit 1 +fi cloneorpull() { - if test -d $1 ; then - (cd $1 && git pull) + if test -d "$1" ; then + (cd "$1" && git pull) else - git clone $2 + git clone "$2" fi } venv() { - if ! test -d $1 ; then - virtualenv $1 + if ! test -d "$1" ; then + virtualenv "$1" fi - . $1/bin/activate + # shellcheck source=/dev/null + source "$1"/bin/activate } +git clean --force -d -x || /bin/true cloneorpull common-workflow-language https://github.com/common-workflow-language/common-workflow-language.git venv cwltool-venv -(. cwltool-venv/bin/activate && PIP_DOWNLOAD_CACHE=/var/lib/jenkins/pypi-cache/ pip install -U setuptools wheel pip) -(. cwltool-venv/bin/activate && PIP_DOWNLOAD_CACHE=/var/lib/jenkins/pypi-cache/ python setup.py install) -(. cwltool-venv/bin/activate && PIP_DOWNLOAD_CACHE=/var/lib/jenkins/pypi-cache/ pip install "cwltest>=1.0.20160825151655") -# (. cwltool-venv/bin/activate && cd common-workflow-language && ./run_test.sh --junit-xml=result.xml RUNNER=cwltool DRAFT=draft-2) -(. cwltool-venv/bin/activate && cd common-workflow-language && ./run_test.sh --junit-xml=result.xml RUNNER=cwltool DRAFT=draft-3) -(. cwltool-venv/bin/activate && cd common-workflow-language && ./run_test.sh --junit-xml=result.xml RUNNER=cwltool) -(. cwltool-venv/bin/activate && cd common-workflow-language && ./run_test.sh --junit-xml=result.xml RUNNER=cwltool DRAFT=v1.1.0-dev1 EXTRA=--enable-dev) -(. cwltool-venv/bin/activate && ./build-cwl-docker.sh && docker push commonworkflowlanguage/cwltool_module && docker push commonworkflowlanguage/cwltool) +docker pull node:slim +export PIP_DOWNLOAD_CACHE=/var/lib/jenkins/pypi-cache/ +pip install -U setuptools wheel pip +python setup.py install +pip install "cwltest>=1.0.20160825151655" +pushd common-workflow-language +git clean --force -d -x || /bin/true +# shellcheck disable=SC2154 +if [[ "$version" = *dev* ]] +then + EXTRA="EXTRA=--enable-dev" +fi +./run_test.sh --junit-xml=result.xml RUNNER=cwltool -j4 DRAFT="${version}" ${EXTRA} +CODE=$? +popd +if [ "$GIT_BRANCH" = "origin/master" ] +then + ./build-cwl-docker.sh && docker push commonworkflowlanguage/cwltool_module && docker push commonworkflowlanguage/cwltool +fi +#docker rm -v $(docker ps -a -f status=exited | sed 's/ */ /g' | cut -d' ' -f1) +exit ${CODE}