From 8ede056a97a755b9a4d7d0030ba6dfc49201d44d Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Mon, 17 Jul 2017 05:43:01 -0700 Subject: [PATCH 1/6] now for PRs too --- jenkins.bash | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/jenkins.bash b/jenkins.bash index 14fa32097..d1910b3b3 100644 --- a/jenkins.bash +++ b/jenkins.bash @@ -1,24 +1,35 @@ #!/usr/bin/bash 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 } 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 +./run_test.sh --junit-xml=result.xml RUNNER=cwltool DRAFT=draft-3 && \ + ./run_test.sh --junit-xml=result.xml RUNNER=cwltool && \ + ./run_test.sh --junit-xml=result.xml RUNNER=cwltool DRAFT=v1.1.0-dev1 EXTRA=--enable-dev +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) +return ${CODE} From 7d40988ded31d5af52743ede7b569f8546eac60e Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Mon, 17 Jul 2017 06:03:17 -0700 Subject: [PATCH 2/6] match matrix project layout --- jenkins.bash | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/jenkins.bash b/jenkins.bash index d1910b3b3..ed4e03cb0 100644 --- a/jenkins.bash +++ b/jenkins.bash @@ -13,6 +13,7 @@ venv() { # 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 docker pull node:slim @@ -22,9 +23,9 @@ python setup.py install pip install "cwltest>=1.0.20160825151655" pushd common-workflow-language git clean --force -d -x || /bin/true -./run_test.sh --junit-xml=result.xml RUNNER=cwltool DRAFT=draft-3 && \ - ./run_test.sh --junit-xml=result.xml RUNNER=cwltool && \ - ./run_test.sh --junit-xml=result.xml RUNNER=cwltool DRAFT=v1.1.0-dev1 EXTRA=--enable-dev +if [ $version = *dev ] then + EXTRA="EXTRA=--enable-dev" +./run_test.sh --junit-xml=result.xml RUNNER=cwltool DRAFT=${version} ${EXTRA} CODE=$? popd if [ "$GIT_BRANCH" = "origin/master" ] @@ -32,4 +33,4 @@ 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) -return ${CODE} +exit ${CODE} From b89668bb068e80ded713c8cb64aae95a3107d419 Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Mon, 17 Jul 2017 06:10:48 -0700 Subject: [PATCH 3/6] shellcheck to the rescue --- jenkins.bash | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/jenkins.bash b/jenkins.bash index ed4e03cb0..cd906ab3b 100644 --- a/jenkins.bash +++ b/jenkins.bash @@ -23,9 +23,12 @@ python setup.py install pip install "cwltest>=1.0.20160825151655" pushd common-workflow-language git clean --force -d -x || /bin/true -if [ $version = *dev ] then +# shellcheck disable=SC2154 +if [[ "$version" = *dev ]] +then EXTRA="EXTRA=--enable-dev" -./run_test.sh --junit-xml=result.xml RUNNER=cwltool DRAFT=${version} ${EXTRA} +fi +./run_test.sh --junit-xml=result.xml RUNNER=cwltool DRAFT="${version}" ${EXTRA} CODE=$? popd if [ "$GIT_BRANCH" = "origin/master" ] From 9b556edc558f9dd545d845f70e535d2dcc4c9d34 Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Mon, 17 Jul 2017 06:14:20 -0700 Subject: [PATCH 4/6] fix dev glob --- jenkins.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins.bash b/jenkins.bash index cd906ab3b..98e5e7a67 100644 --- a/jenkins.bash +++ b/jenkins.bash @@ -24,7 +24,7 @@ pip install "cwltest>=1.0.20160825151655" pushd common-workflow-language git clean --force -d -x || /bin/true # shellcheck disable=SC2154 -if [[ "$version" = *dev ]] +if [[ "$version" = *dev* ]] then EXTRA="EXTRA=--enable-dev" fi From 4b3e1c20c6b9629dbe7cc038eb3c7373ef21904e Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Mon, 17 Jul 2017 06:16:50 -0700 Subject: [PATCH 5/6] faster! --- jenkins.bash | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) mode change 100644 => 100755 jenkins.bash diff --git a/jenkins.bash b/jenkins.bash old mode 100644 new mode 100755 index 98e5e7a67..c57f37777 --- a/jenkins.bash +++ b/jenkins.bash @@ -1,4 +1,4 @@ -#!/usr/bin/bash +#!/bin/bash cloneorpull() { if test -d "$1" ; then (cd "$1" && git pull) @@ -28,7 +28,7 @@ if [[ "$version" = *dev* ]] then EXTRA="EXTRA=--enable-dev" fi -./run_test.sh --junit-xml=result.xml RUNNER=cwltool DRAFT="${version}" ${EXTRA} +./run_test.sh --junit-xml=result.xml RUNNER=cwltool -j4 DRAFT="${version}" ${EXTRA} CODE=$? popd if [ "$GIT_BRANCH" = "origin/master" ] From 55a41107332aab23484e9f370911dbb5cbc97f88 Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Mon, 17 Jul 2017 06:20:11 -0700 Subject: [PATCH 6/6] add warning --- jenkins.bash | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/jenkins.bash b/jenkins.bash index c57f37777..8fb9c9832 100755 --- a/jenkins.bash +++ b/jenkins.bash @@ -1,4 +1,10 @@ #!/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)