Admin/isatest-makedist
author paulson
Mon Jul 21 13:02:07 2003 +0200 (2003-07-21)
changeset 14120 3a73850c6c7d
parent 14037 3b7f3eec9684
child 14170 edd5a2ea3807
permissions -rwxr-xr-x
Tidied some examples
     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 ERRORDIR=$HOME/var
    24 ERRORLOG=$ERRORDIR/error.log
    25 RUNNING=$HOME/var/running
    26 DISTPREFIX=$HOME/isadist
    27 MAKEDIST=$HOME/bin/makedist
    28 MAKEALL=$HOME/bin/isatest-makeall
    29 TAR=gtar
    30 
    31 SSH="ssh -f"
    32 
    33 ## diagnostics
    34 
    35 PRG="$(basename "$0")"
    36 
    37 function usage()
    38 {
    39   echo
    40   echo "Usage: $PRG"
    41   echo
    42   echo "   Build distribution and run isatest-make for lots of platforms."
    43   echo
    44   exit 1
    45 }
    46 
    47 function fail()
    48 {
    49   echo "$1" >&2
    50   exit 2
    51 }
    52 
    53 ## main
    54 
    55 # cleanup old error log and test-still-running files
    56 rm -f $ERRORLOG
    57 rm -f $ERRORDIR/isatest-*.log
    58 rm -f $RUNNING/*.runnning
    59 
    60 export DISTPREFIX
    61 
    62 DATE=$(date "+%Y-%m-%d")
    63 DISTLOG=$LOGPREFIX/isatest-makedist-$DATE.log
    64 
    65 echo ------------------- preparing test release --- `date` --- $HOSTNAME > $DISTLOG 2>&1
    66 
    67 echo "### cleaning up old dist directory"  >> $DISTLOG 2>&1
    68 rm -rf $DISTPREFIX >> $DISTLOG 2>&1
    69 
    70 echo "### cleaning up old isabelle-* directories" >> $DISTLOG 2>&1
    71 rm -rf $HOME/isabelle-*
    72 
    73 echo "### building distribution"  >> $DISTLOG 2>&1
    74 $MAKEDIST - >> $DISTLOG 2>&1
    75 
    76 if [ $? -ne 0 ]
    77 then
    78     echo ------------------- DIST BUILD FAILED --- `date` --- $HOSTNAME >> $DISTLOG 2>&1
    79     ELAPSED=$("$HOME/bin/showtime" "$SECONDS")
    80     echo "$(date) $HOSTNAME $PRG: dist build FAILED, elapsed time $ELAPSED." >> $MASTERLOG
    81 
    82     echo "Could not build isabelle distribution. Log file available at" > $TMP
    83     echo "$HOSTNAME:$DISTLOG" >> $TMP
    84 
    85     for R in $MAILTO; do
    86         $MAIL "isabelle dist build failed" $R $TMP
    87     done
    88 
    89     rm $TMP
    90 
    91     exit 1
    92 fi
    93 
    94 cd $DISTPREFIX >> $DISTLOG 2>&1
    95 $TAR xvzf `cat $DISTPREFIX/ISABELLE_DIST` >> $DISTLOG 2>&1
    96 
    97 echo ------------------- prepared test successfully --- `date` --- $HOSTNAME >> $DISTLOG 2>&1
    98 gzip -f $DISTLOG
    99 
   100 ELAPSED=$("$HOME/bin/showtime" "$SECONDS")
   101 echo "$(date) $HOSTNAME $PRG: dist build successful, elapsed time $ELAPSED." >> $MASTERLOG
   102 
   103 
   104 ## spawn test runs
   105 
   106 $SSH sunbroy2 "$MAKEALL $DISTPREFIX $HOME/settings/sun-poly $HOME/settings/sun-sml"
   107 # give test some time to copy settings and start
   108 sleep 5
   109 $SSH atbroy51 "$MAKEALL $DISTPREFIX $HOME/settings/at-poly $HOME/settings/at-sml"
   110 # give test some time to copy settings and start
   111 sleep 5
   112 $SSH macbroy33 "$MAKEALL $DISTPREFIX $HOME/settings/mac-poly"
   113 
   114 ## end