Admin/isatest-makedist
author isatest
Fri, 21 Jun 2002 15:41:07 +0200
changeset 13237 493d61afa731
parent 13234 8139edae3bf5
child 13246 e51efc2029e9
permissions -rwxr-xr-x
cleanup old isabelle-* dirs before test start included master log file
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13231
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
     1
#!/usr/bin/env bash
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
     2
#
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
     3
# $Id$
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
     4
# Author: Gerwin Klein, TU Muenchen
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
     5
# License: GPL (GNU GENERAL PUBLIC LICENSE)
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
     6
#
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
     7
# DESCRIPTION: Build distribution and run isatest-make for lots of platforms.
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
     8
13237
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
     9
# source bashrc, we're called by cron
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
    10
. ~/.bashrc
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
    11
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
    12
13231
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    13
## global settings
13233
kleing
parents: 13231
diff changeset
    14
LOGPREFIX=~/log
13237
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
    15
MASTERLOG=$LOGPREFIX/isatest.log
13231
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    16
DISTPREFIX=~/isadist
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    17
MAKEDIST=~/bin/makedist
13234
isatest
parents: 13233
diff changeset
    18
MAKEALL=~/bin/isatest-makeall
isatest
parents: 13233
diff changeset
    19
TAR=gtar
13231
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    20
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    21
SUN=sunbroy2
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    22
AT=atbroy37
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    23
13233
kleing
parents: 13231
diff changeset
    24
SSH="ssh -f"
13231
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    25
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    26
## diagnostics
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    27
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    28
PRG="$(basename "$0")"
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    29
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    30
function usage()
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    31
{
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    32
  echo
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    33
  echo "Usage: $PRG"
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    34
  echo
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    35
  echo "   Build distribution and run isatest-make for lots of platforms."
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    36
  echo
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    37
  exit 1
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    38
}
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    39
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    40
function fail()
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    41
{
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    42
  echo "$1" >&2
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    43
  exit 2
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    44
}
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    45
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    46
## main
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    47
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    48
export DISTPREFIX
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    49
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    50
DATE=$(date "+%d-%b-%Y")
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    51
DISTLOG=$LOGPREFIX/isatest-makedist-$DATE.log
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    52
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    53
echo ------------------- preparing test release --- `date` --- $HOSTNAME > $DISTLOG 2>&1
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    54
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    55
echo "### cleaning up old dist directory"  >> $DISTLOG 2>&1
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    56
rm -rf $DISTPREFIX >> $DISTLOG 2>&1
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    57
13237
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
    58
echo "### cleaning up old isabelle-* directories" >> $DISTLOG 2>&1
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
    59
rm -rf ~/isabelle-*
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
    60
13231
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    61
echo "### building distribution"  >> $DISTLOG 2>&1
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    62
$MAKEDIST - >> $DISTLOG 2>&1
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    63
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    64
if [ $? -ne 0 ]
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    65
then
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    66
    echo ------------------- DIST BUILD FAILED --- `date` --- $HOSTNAME >> $DISTLOG 2>&1
13237
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
    67
    ELAPSED=$("$HOME/bin/showtime" "$SECONDS")
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
    68
    echo "$(date) $HOSTNAME $PRG: dist build FAILED, elapsed time $ELAPSED." >> $MASTERLOG
13231
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    69
    # more action here
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    70
    exit 1
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    71
fi
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    72
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    73
cd $DISTPREFIX >> $DISTLOG 2>&1
13234
isatest
parents: 13233
diff changeset
    74
$TAR xvzf `cat $DISTPREFIX/ISABELLE_DIST` >> $DISTLOG 2>&1
13231
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    75
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    76
echo ------------------- prepared test successfully --- `date` --- $HOSTNAME >> $DISTLOG 2>&1
13237
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
    77
gzip -f $DISTLOG
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
    78
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
    79
ELAPSED=$("$HOME/bin/showtime" "$SECONDS")
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
    80
echo "$(date) $HOSTNAME $PRG: dist build successful, elapsed time $ELAPSED." >> $MASTERLOG
493d61afa731 cleanup old isabelle-* dirs before test start
isatest
parents: 13234
diff changeset
    81
13231
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    82
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    83
## spawn test runs
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    84
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    85
# run tests in parallel on multiprocessor sun 
13234
isatest
parents: 13233
diff changeset
    86
$SSH $SUN "$MAKEALL $DISTPREFIX ~/settings/sun-poly"
isatest
parents: 13233
diff changeset
    87
$SSH $SUN "$MAKEALL $DISTPREFIX ~/settings/sun-sml"
13231
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    88
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    89
# run tests sequentially on x86
13234
isatest
parents: 13233
diff changeset
    90
$SSH $AT "$MAKEALL $DISTPREFIX ~/settings/at-poly ~/settings/at-sml"
13231
cce28efb2600 for nightly test builds
kleing
parents:
diff changeset
    91
13234
isatest
parents: 13233
diff changeset
    92
## end