Admin/isatest/isatest-makedist
changeset 22410 da313b67a04d
child 22411 1956d895a4ed
equal deleted inserted replaced
22409:5f7c9c82b05e 22410:da313b67a04d
       
     1 #!/usr/bin/env bash
       
     2 #
       
     3 # $Id$
       
     4 # Author: Gerwin Klein, TU Muenchen
       
     5 #
       
     6 # DESCRIPTION: Build distribution and run isatest-make for lots of platforms.
       
     7 
       
     8 ## global settings
       
     9 . ~/admin/isatest-settings
       
    10 
       
    11 TMP=/tmp/isatest-makedist.$$
       
    12 MAIL=$HOME/bin/pmail
       
    13 
       
    14 MAKEDIST=$HOME/bin/makedist
       
    15 MAKEALL=$HOME/bin/isatest-makeall
       
    16 TAR=gtar
       
    17 CVS2CL="$HOME/bin/cvs2cl --follow-only TRUNK"
       
    18 
       
    19 SSH="ssh -f"
       
    20 
       
    21 ## diagnostics
       
    22 
       
    23 PRG="$(basename "$0")"
       
    24 
       
    25 function usage()
       
    26 {
       
    27   echo
       
    28   echo "Usage: $PRG"
       
    29   echo
       
    30   echo "   Build distribution and run isatest-make for lots of platforms."
       
    31   echo
       
    32   exit 1
       
    33 }
       
    34 
       
    35 function fail()
       
    36 {
       
    37   echo "$1" >&2
       
    38   exit 2
       
    39 }
       
    40 
       
    41 ## main
       
    42 
       
    43 # cleanup old error log and test-still-running files
       
    44 rm -f $ERRORLOG
       
    45 rm -f $ERRORDIR/isatest-*.log
       
    46 rm -f $RUNNING/*.runnning
       
    47 
       
    48 export DISTPREFIX
       
    49 export CVS2CL
       
    50 
       
    51 DATE=$(date "+%Y-%m-%d")
       
    52 DISTLOG=$LOGPREFIX/isatest-makedist-$DATE.log
       
    53 
       
    54 echo ------------------- preparing test release --- `date` --- $HOSTNAME > $DISTLOG 2>&1
       
    55 
       
    56 echo "### cleaning up old dist directory"  >> $DISTLOG 2>&1
       
    57 rm -rf $DISTPREFIX >> $DISTLOG 2>&1
       
    58 
       
    59 echo "### cleaning up old isabelle-* directories" >> $DISTLOG 2>&1
       
    60 rm -rf $HOME/isabelle-*
       
    61 
       
    62 echo "### building distribution"  >> $DISTLOG 2>&1
       
    63 mkdir -p $DISTPREFIX
       
    64 $MAKEDIST - >> $DISTLOG 2>&1
       
    65 
       
    66 if [ $? -ne 0 ]
       
    67 then
       
    68     echo ------------------- DIST BUILD FAILED --- `date` --- $HOSTNAME >> $DISTLOG 2>&1
       
    69     ELAPSED=$("$HOME/bin/showtime" "$SECONDS")
       
    70     echo "$(date) $HOSTNAME $PRG: dist build FAILED, elapsed time $ELAPSED." >> $MASTERLOG
       
    71 
       
    72     echo "Could not build isabelle distribution. Log file available at" > $TMP
       
    73     echo "$HOSTNAME:$DISTLOG" >> $TMP
       
    74 
       
    75     for R in $MAILTO; do
       
    76         $MAIL "isabelle dist build failed" $R $TMP
       
    77     done
       
    78 
       
    79     rm $TMP
       
    80 
       
    81     exit 1
       
    82 fi
       
    83 
       
    84 cd $DISTPREFIX >> $DISTLOG 2>&1
       
    85 $TAR xvzf `cat $DISTPREFIX/ISABELLE_DIST` >> $DISTLOG 2>&1
       
    86 
       
    87 echo ------------------- prepared test successfully --- `date` --- $HOSTNAME >> $DISTLOG 2>&1
       
    88 
       
    89 ELAPSED=$("$HOME/bin/showtime" "$SECONDS")
       
    90 echo "$(date) $HOSTNAME $PRG: dist build successful, elapsed time $ELAPSED." >> $MASTERLOG
       
    91 
       
    92 
       
    93 ## spawn test runs
       
    94 
       
    95 $SSH sunbroy2 "$MAKEALL $HOME/settings/sun-poly"
       
    96 # give test some time to copy settings and start
       
    97 sleep 5
       
    98 $SSH atbroy51 "$MAKEALL $HOME/settings/at-poly $HOME/settings/at-poly-e"
       
    99 sleep 5
       
   100 $SSH atbroy10 "$MAKEALL $HOME/settings/at-sml-dev"
       
   101 sleep 5
       
   102 $SSH atbroy101 "$MAKEALL $HOME/settings/at64-poly-e"
       
   103 sleep 5
       
   104 $SSH macbroy5 "$MAKEALL $HOME/settings/mac-poly $HOME/settings/mac-sml-dev"
       
   105 sleep 5
       
   106 $SSH macbroy6 "/usr/stud/isatest/bin/isatest-makeall $HOME/settings/at-mac-poly-e"
       
   107 
       
   108 echo ------------------- spawned tests successfully --- `date` --- $HOSTNAME >> $DISTLOG 2>&1
       
   109 
       
   110 gzip -f $DISTLOG
       
   111 
       
   112 ## end