3 # this script is managed under subversion at
4 # http://svn.onelab.eu/infrastructure/scripts/all-builds.sh
5 # it is triggered every night at 0:05 french time on build.onelab.eu aka blitz.inria.fr
9 MAILTO="-m build@onelab.eu"
12 echo "Usage: $COMMAND [options [ -- vbuild-nightly-options ]]"
13 echo "In manual mode you should export the following vars (or use related option)"
14 echo "MAJOR_DISTROS (-d) TRUNK_DISTROS (-td) TRUNK_FCDISTROS (-tf) VS_DISTROS (-vd)"
15 echo "FCDISTROS (-f) BITS (-i) BASE (-b)"
16 echo "BUILD_BRANCH(4.2) (-bb) BUILD_TRUNK (-bt)"
17 echo "Overwrite (-o) TEST (-T) DRY_RUN (-n)"
18 echo "Use at least one space for blanking a set of distros"
23 [ -n "$manual" ] && echo "$@" '; \'
24 if [ -z "$DRY_RUN" ] ; then
29 function shortname () {
34 f?|f1?) echo $distro;;
40 # comment off for usual dailies
47 while [[ -n "$@" ]] ; do
49 -d) shift ; MAJOR_DISTROS="$MAJOR_DISTROS $1" ;;
50 -f) shift ; FCDISTROS="$FCDISTROS $1" ;;
51 -i) shift ; BITS="$BITS $1" ;;
52 -td) shift; TRUNK_DISTROS="$1" ;;
53 -tf) shift; TRUNK_FCDISTROS="$1" ;;
54 -vd) shift; VS_DISTROS="$1" ;;
55 -b) shift; BASE="$1" ;;
56 -bb) BUILD_BRANCH=true ;;
57 -bt) BUILD_TRUNK=true ;;
62 --) shift; extra_option="$@" ; shift $# ;;
69 DEFAULT_FCDISTROS="centos5"
72 function trunk_builds () {
74 DEFAULT_MAJOR_DISTROS=""
76 # 5.0 ready for planetlab distro only so far
77 DEFAULT_TRUNK_DISTROS="planetlab"
78 # DEFAULT_TRUNK_DISTROS="onelab planetlab"
79 DEFAULT_TRUNK_FCDISTROS="f8 f10"
82 function branch_builds_42 () {
83 DEFAULT_MAJOR_DISTROS="onelab planetlab"
86 DEFAULT_TRUNK_DISTROS=""
87 DEFAULT_TRUNK_FCDISTROS=""
88 DEFAULT_FCDISTROS="f8"
91 function tagged_builds_42 () {
93 DEFAULT_MAJOR_DISTROS="onelab planetlab"
94 DEFAULT_VS_DISTROS="onelab"
95 DEFAULT_TRUNK_DISTROS=""
96 DEFAULT_TRUNK_FCDISTROS=""
99 if [ -n "$BUILD_BRANCH" ] ; then
101 BUILDOPT="-s http://svn.planet-lab.org/svn/build/branches/${MAJOR}"
102 elif [ -n "$BUILD_TRUNK" ] ; then
107 BUILDOPT="-s http://svn.planet-lab.org/svn/build/tags/${MAJOR}-${MINOR}"
110 [[ -n "$@" ]] && usage
112 # export any of these to override - this is for manual use only
113 if [ -z "$MAJOR_DISTROS" ] ; then MAJOR_DISTROS=$DEFAULT_MAJOR_DISTROS ; else manual=true ; fi
114 if [ -z "$FCDISTROS" ] ; then FCDISTROS=$DEFAULT_FCDISTROS ; else manual=true ; fi
115 if [ -z "$BITS" ] ; then BITS=$DEFAULT_BITS ; else manual=true ; fi
116 if [ -z "$TRUNK_DISTROS" ] ; then TRUNK_DISTROS=$DEFAULT_TRUNK_DISTROS ; else manual=true ; fi
117 if [ -z "$TRUNK_FCDISTROS" ] ; then TRUNK_FCDISTROS=$DEFAULT_TRUNK_FCDISTROS ; else manual=true ; fi
118 if [ -z "$VS_DISTROS" ] ; then VS_DISTROS=$DEFAULT_VS_DISTROS ; else manual=true ; fi
119 if [ -z "$BASE" ] ; then BASE=$DEFAULT_BASE ; else manual=true ; fi
120 [ -n "$TEST" ] && { extra_option="$extra_option -T" ; }
121 [ -n "$DRY_RUN" ] && { manual=true ; }
123 ############################## ${MAJOR}
124 for bits in $BITS; do
125 for f in $FCDISTROS ; do
126 for d in $MAJOR_DISTROS ; do
129 if [ -n "$BUILD_BRANCH" ] ; then
130 buildname="${d}-${MAJOR}-${BASE}-${f}-${bits}"
131 elif [ -n "$BUILD_TRUNK" ] ; then
132 buildname="${BASE}--${s}.${MAJOR}--${f}-${bits}"
134 buildname="${d}-${MAJOR}-${MINOR}-${f}-${bits}"
136 command="/root/bin/vbuild-nightly.sh ${MAILTO} ${BUILDOPT} \
137 -d $d -p $p -f $f -t ${d}-tags-${MAJOR}.mk \
138 ${base_option} $buildname $extra_option"
144 ############################## ${MAJOR}/centos5
145 # centos5 : for both archs, make the vserver rpms
146 # does not test, so skip if test is requested
147 if [ -z "$TEST" ] ; then
149 for d in $VS_DISTROS ; do
150 for bits in $BITS ; do
153 if [ -n "$BUILD_BRANCH" ] ; then
154 buildname="${d}-${MAJOR}-${BASE}-vs-${f}-${bits}"
155 elif [ -n "$BUILD_TRUNK" ] ; then
156 buildname="${BASE}--${s}.${MAJOR}--vs-${f}-${bits}"
158 buildname="${d}-${MAJOR}-${MINOR}-vs-${f}-${bits}"
160 command="/root/bin/vbuild-nightly.sh ${MAILTO} ${BUILDOPT} \
161 -d $d -p $p -f $f -t ${d}-tags-${MAJOR}.mk \
162 ${base_option} $buildname -B $extra_option vserver"
168 ############################## TRUNK
169 # raw - std planetlab x f8 x 32bits for deploying on alpha nodes
170 for bits in $BITS; do
172 for f in $TRUNK_FCDISTROS; do
177 buildname="${BASE}--tr${fs}-${ds}-${bits}"
178 command="/root/bin/vbuild-nightly.sh ${MAILTO} ${BUILDOPT} \
179 -d $d -p $p -f $f ${base_option} $buildname $extra_option"
183 for d in $TRUNK_DISTROS; do
188 buildname="${BASE}--tr${fs}-${ds}-${bits}"
189 command="/root/bin/vbuild-nightly.sh ${MAILTO} ${BUILDOPT} \
190 -d $d -p $p -f $f ${base_option} $buildname $extra_option"
194 ##############################