Admin/isatest-makedist
author kleing
Fri May 09 14:15:50 2003 +0200 (2003-05-09)
changeset 13993 88a8911bb65d
parent 13991 b289ab046d3b
child 14032 a6239314e380
permissions -rwxr-xr-x
only make development snapshots for successful tests
     1 #!/usr/bin/env bash
     2 #
     3 # $Id$
     4 # Author: Gerwin Klein, TU Muenchen
     5 # License: GPL (GNU GENERAL PUBLIC LICENSE)
     6 #
     7 # DESCRIPTION: Build distribution and run isatest-make for lots of platforms.
     8 
     9 # source bashrc, we're called by cron
    10 . ~/.bashrc
    11 
    12 # canoncical home for all platforms
    13 HOME=/usr/stud/isatest
    14 
    15 ## global settings
    16 MAILTO="kleing@in.tum.de nipkow@in.tum.de berghofe@in.tum.de schirmer@in.tum.de lp15@cam.ac.uk"
    17 
    18 TMP=/tmp/isatest-makedist.$$
    19 MAIL=$HOME/bin/pmail
    20 
    21 LOGPREFIX=$HOME/log
    22 MASTERLOG=$LOGPREFIX/isatest.log
    23 ERRORLOG=$HOME/var/error.log
    24 RUNNING=$HOME/var/running
    25 DISTPREFIX=$HOME/isadist
    26 MAKEDIST=$HOME/bin/makedist
    27 MAKEALL=$HOME/bin/isatest-makeall
    28 TAR=gtar
    29 
    30 SSH="ssh -f"
    31 
    32 ## diagnostics
    33 
    34 PRG="$(basename "$0")"
    35 
    36 function usage()
    37 {
    38   echo
    39   echo "Usage: $PRG"
    40   echo
    41   echo "   Build distribution and run isatest-make for lots of platforms."
    42   echo
    43   exit 1
    44 }
    45 
    46 function fail()
    47 {
    48   echo "$1" >&2
    49   exit 2
    50 }
    51 
    52 ## main
    53 
    54 # cleanup old error log and test-still-running files
    55 rm -f $ERRORLOG
    56 rm -f $RUNNING/*.runnning
    57 
    58 export DISTPREFIX
    59 
    60 DATE=$(date "+%Y-%m-%d")
    61 DISTLOG=$LOGPREFIX/isatest-makedist-$DATE.log
    62 
    63 echo ------------------- preparing test release --- `date` --- $HOSTNAME > $DISTLOG 2>&1
    64 
    65 echo "### cleaning up old dist directory"  >> $DISTLOG 2>&1
    66 rm -rf $DISTPREFIX >> $DISTLOG 2>&1
    67 
    68 echo "### cleaning up old isabelle-* directories" >> $DISTLOG 2>&1
    69 rm -rf $HOME/isabelle-*
    70 
    71 echo "### building distribution"  >> $DISTLOG 2>&1
    72 $MAKEDIST - >> $DISTLOG 2>&1
    73 
    74 if [ $? -ne 0 ]
    75 then
    76     echo ------------------- DIST BUILD FAILED --- `date` --- $HOSTNAME >> $DISTLOG 2>&1
    77     ELAPSED=$("$HOME/bin/showtime" "$SECONDS")
    78     echo "$(date) $HOSTNAME $PRG: dist build FAILED, elapsed time $ELAPSED." >> $MASTERLOG
    79 
    80     echo "Could not build isabelle distribution. Log file available at" > $TMP
    81     echo "$HOSTNAME:$DISTLOG" >> $TMP
    82 
    83     for R in $MAILTO; do
    84 	$MAIL "isabelle dist build failed" $R $TMP
    85     done
    86 
    87     rm $TMP
    88 
    89     exit 1
    90 fi
    91 
    92 cd $DISTPREFIX >> $DISTLOG 2>&1
    93 $TAR xvzf `cat $DISTPREFIX/ISABELLE_DIST` >> $DISTLOG 2>&1
    94 
    95 echo ------------------- prepared test successfully --- `date` --- $HOSTNAME >> $DISTLOG 2>&1
    96 gzip -f $DISTLOG
    97 
    98 ELAPSED=$("$HOME/bin/showtime" "$SECONDS")
    99 echo "$(date) $HOSTNAME $PRG: dist build successful, elapsed time $ELAPSED." >> $MASTERLOG
   100 
   101 
   102 ## spawn test runs
   103 
   104 $SSH sunbroy2 "$MAKEALL $DISTPREFIX $HOME/settings/sun-poly $HOME/settings/sun-sml"
   105 $SSH atbroy51 "$MAKEALL $DISTPREFIX $HOME/settings/at-poly $HOME/settings/at-sml"
   106 $SSH macbroy33 "$MAKEALL $DISTPREFIX $HOME/settings/mac-poly"
   107 
   108 ## end