X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lbuild-nightly.sh;h=af3a49d9a122181ed2fd8bf51bff19d20e318eb0;hb=0b90b3358f33af8d516073d62bc0fbbeff7484d2;hp=aabb5c838a2b24ae872595007a1cbb635f37e7be;hpb=891ad07b71614718364176421f4cdc3ce6b294bd;p=build.git diff --git a/lbuild-nightly.sh b/lbuild-nightly.sh index aabb5c83..af3a49d9 100755 --- a/lbuild-nightly.sh +++ b/lbuild-nightly.sh @@ -3,6 +3,9 @@ COMMANDPATH=$0 COMMAND=$(basename $0) +# close stdin, as with ubuntu and debian VMs this script tends to hang and wait for input .. +0<&- + # old guests have e.g. mount in /bin but this is no longer part of # the standard PATH in recent hosts after usrmove, so let's keep it simple export PATH=$PATH:/bin:/sbin @@ -24,22 +27,11 @@ DEFAULT_TESTCONFIG="default" RUN_LOG_EXTRAS="" # for publishing results, and the tests settings -x=$(hostname) -y=$(hostname|sed -e s,inria,,) -# INRIA defaults -if [ "$x" != "$y" ] ; then - DEFAULT_WEBPATH="/build/@PLDISTRO@/" - DEFAULT_TESTBUILDURL="http://build.onelab.eu/" - # this is where the buildurl is pointing towards - DEFAULT_WEBROOT="/build/" - DEFAULT_TESTMASTER="testmaster.onelab.eu" -else - DEFAULT_WEBPATH="/build/@FCDISTRO@/@PLDISTRO@/" - DEFAULT_TESTBUILDURL="http://build.planet-lab.org/" - # this is where the buildurl is pointing towards - DEFAULT_WEBROOT="/build/" - DEFAULT_TESTMASTER="manager.test.planet-lab.org" -fi +DEFAULT_WEBPATH="/build/@PLDISTRO@/" +DEFAULT_TESTBUILDURL="http://build.onelab.eu/" +# this is where the buildurl is pointing towards +DEFAULT_WEBROOT="/build/" +DEFAULT_TESTMASTER="testmaster.onelab.eu" #################### # assuming vm runs in UTC @@ -154,8 +146,8 @@ function pretty_duration () { function failure() { set -x # early stage ? - let's not create /build/@PLDISTRO@ - if test -z "$WEBLOG" ; then - WEBHOST=$(hostname) + if [ -z "$WEBLOG" ] ; then + WEBHOST=localhost WEBPATH=/tmp WEBBASE=/tmp/lbuild-early-$(date +%Y-%m-%d) WEBLOG=/tmp/lbuild-early-$(date +%Y-%m-%d).log.txt @@ -183,8 +175,8 @@ function failure() { function success () { set -x # early stage ? - let's not create /build/@PLDISTRO@ - if test -z "$WEBLOG" ; then - WEBHOST=$(hostname) + if [ -z "$WEBLOG" ] ; then + WEBHOST=localhost WEBPATH=/tmp WEBLOG=/tmp/lbuild-early-$(date +%Y-%m-%d).log.txt fi @@ -319,16 +311,18 @@ function run_log () { # toss the build in the bargain, so the tests don't need to mess with extracting it rsync --verbose --archive $(rootdir $BASE)/build/MODULES/build ${testmaster_ssh}:${BASE}/ - # invoke test on testbox - pass url and build url - so the tests can use vtest-init-lxc.sh + # invoke test on testbox - pass url and build url - so the tests can use lbuild-initvm.sh run_log_env="-p $PERSONALITY -d $PLDISTRO -f $FCDISTRO" # temporarily turn off set -e set +e - ssh 2>&1 -n ${testmaster_ssh} ${testdir}/run_log --build ${BUILD_SCM_URL} --url ${url} $run_log_env $RUN_LOG_EXTRAS $VERBOSE --all; retcod=$? + trap - ERR INT + ssh 2>&1 ${testmaster_ssh} ${testdir}/run_log --build ${BUILD_SCM_URL} --url ${url} $run_log_env $RUN_LOG_EXTRAS $VERBOSE --all; retcod=$? + set -e - + trap failure ERR INT # interpret retcod of TestMain.py; 2 means there were ignored steps that failed - echo "received from run_log" $retcod + echo "retcod from run_log" $retcod case $retcod in 0) success=true; IGNORED="" ;; 2) success=true; IGNORED=true ;; @@ -490,6 +484,7 @@ function usage () { function main () { set -e + trap failure ERR INT # parse arguments MAKEVARS=() @@ -743,6 +738,7 @@ function main () { # publish to the web so run_log can find them set +e + trap - ERR INT webpublish rm -rf $WEBPATH/$BASE # guess if we've been doing any debian-related build if [ ! -f $(rootdir $BASE)/etc/debian_version ] ; then @@ -761,6 +757,7 @@ function main () { release=$(rootdir $BASE)/build/myplc-release [ -f $release ] && webpublish_rsync_files $WEBPATH/$BASE $release set -e + trap failure ERR INT # create yum repo and sign packages. if [ -n "$SIGNYUMREPO" ] ; then