X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2Fall-builds.sh;h=55ce3a4fb2840c79a535f037ebfe03dc0eaf2c29;hb=9eb1fe130511adf591a5b4622f649d1c0087d39d;hp=c0721db994418ba8ed4e2733da485f3e2accd2a6;hpb=f7792884d5a651c76b2908e871f0e720118db751;p=infrastructure.git diff --git a/scripts/all-builds.sh b/scripts/all-builds.sh index c0721db..55ce3a4 100755 --- a/scripts/all-builds.sh +++ b/scripts/all-builds.sh @@ -3,53 +3,108 @@ # http://svn.one-lab.org/infrastructure/scripts/all-builds.sh # it is triggered every night at 0:05 french time on build.one-lab.org aka blitz.inria.fr +COMMAND=$(basename $0) + +function usage () { + echo "Usage: $COMMAND" + echo "In manual mode you should export the following vars (or use related option)" + echo "PLDISTROS (-d) FCDISTROS (-f) BITS (-b) TRUNK_DISTRO (-td) RETRY (-O) TEST (-T) DRY_RUN (-n)" + exit 1 +} + +while [[ -n "$@" ]] ; do + case "$1" in + -d) shift ; PLDISTROS="$PLDISTROS $1" ;; + -f) shift ; FCDISTROS="$FCDISTROS $1" ;; + -b) shift ; BITS="$BITS $1" ;; + -td) shift; TRUNK_DISTRO="$1" ;; + -O) RETRY=true ;; + -T) TEST=true ;; + -n) DRY_RUN=true ;; + *) usage ;; + esac + shift +done + +[[ -n "$@" ]] && usage + # tuned for allowing manual re-runs, mostly for tests DEFAULT_PLDISTROS="planetlab onelab" DEFAULT_FCDISTROS="f8" DEFAULT_BITS="32 64" +DEFAULT_TRUNK_DISTRO=onelab # export any of these to override - this is for manual use only -[ -z "$PLDISTROS" ] && { PLDISTROS=$DEFAULT_PLDISTROS ; manual=true ; } -[ -z "$FCDISTROS" ] && { FCDISTROS=$DEFAULT_FCDISTROS ; manual=true ; } -[ -z "$BITS" ] && { BITS=$DEFAULT_BITS ; manual=true ; } +if [ -z "$PLDISTROS" ] ; then PLDISTROS=$DEFAULT_PLDISTROS ; else manual=true ; fi +if [ -z "$FCDISTROS" ] ; then FCDISTROS=$DEFAULT_FCDISTROS ; else manual=true ; fi +if [ -z "$BITS" ] ; then BITS=$DEFAULT_BITS ; else manual=true ; fi +if [ -z "$TRUNK_DISTRO" ] ; then TRUNK_DISTRO=$DEFAULT_TRUNK_DISTRO ; else manual=true ; fi [ -n "$RETRY" ] && { extra_option="$extra_option -o" ; manual=true ; } [ -n "$TEST" ] && { extra_option="$extra_option -T" ; manual=true ; } [ -n "$DRY_RUN" ] && { manual=true ; } +function run () { + [ -n "$manual" ] && echo "$@" + if [ -z "$DRY_RUN" ] ; then + "$@" + fi +} + +function shortname () { + distro=$1; shift + case $distro in + onelab) echo 1l;; + planetlab) echo pl;; + *) echo xx;; + esac +} + +############################## 4.2 for d in $PLDISTROS ; do for f in $FCDISTROS ; do for bits in $BITS; do p=linux${bits} + s=$(shortname $d) + buildname="@DATE@--${s}.4.2--${f}-${bits}" +# buildname="${d}-4.2-rc2.1lab-${f}-${bits}" command="/root/bin/vbuild-nightly.sh -m onelab-build@one-lab.org \ - -f $f -p $p -d $d \ - -t ${d}-tags-4.2.mk \ - -b @DATE@--${d}.4.2--${f}-${bits} $test_option" - [ -n "$manual" ] && echo $command - if [ -n "$DRY_RUN" ] ; then - echo "dry-run: skipped" - else - $command - fi + -d $d -p $p -f $f -t ${d}-tags-4.2.mk \ + -b $buildname $extra_option" + run $command done done done -# the following gets skipped in any manual mode +############################## 4.2/centos5 # centos5 : for both archs, make the vserver rpms -for d in onelab ; do - for bits in 32 64; do +# does not test, so skip if test is requested +if [ -z "$TEST" ] ; then + f=centos5 + for d in $TRUNK_DISTRO ; do + for bits in $BITS ; do + p=linux${bits} + s=$(shortname $d) + buildname="@DATE@--tr${s}-c5vs-${bits}" +# buildname="${d}-4.2-rc2.1lab-${f}-${bits}" + command="/root/bin/vbuild-nightly.sh -m onelab-build@one-lab.org \ + -d $d -p $p -f $f -t ${d}-tags-4.2.mk \ + -b $buildname -B vserver" + run $command + done + done +fi + +############################## TRUNK +# raw - std planetlab x f8 x 32bits for deploying on alpha nodes +for d in $TRUNK_DISTRO; do + for bits in $BITS; do p=linux${bits} + s=$(shortname $d) + buildname="@DATE@--tr${s}-${bits}" command="/root/bin/vbuild-nightly.sh -m onelab-build@one-lab.org \ - -f centos5 -p $p -d $d \ - -t ${d}-tags-4.2.mk \ - -b @DATE@--${d}.4.2--c5vs-${bits} \ - -B vserver" - if [ -n "$manual" ] ; then - echo "$command" - echo "manual/dry_run: skipped" - else - $command - fi + -d $d -p $p -b $buildname $extra_option" + run $command done done +