head	1.5;
access;
symbols
	charm6_1:1.5
	charm_6_0_1:1.5
	charm6_0_1:1.5
	charm6_0:1.5
	ChaNGa_1-0:1.5
	charm5_9:1.4;
locks; strict;
comment	@# @;


1.5
date	2006.02.06.08.38.52;	author gzheng;	state Exp;
branches;
next	1.4;

1.4
date	2005.01.12.08.47.57;	author gzheng;	state Exp;
branches;
next	1.3;

1.3
date	2005.01.12.06.44.36;	author gzheng;	state Exp;
branches;
next	1.2;

1.2
date	2004.09.04.21.02.53;	author olawlor;	state Exp;
branches;
next	1.1;

1.1
date	2003.02.21.19.03.16;	author olawlor;	state Exp;
branches;
next	;


desc
@@


1.5
log
@kill befrore build
added Tiger build
@
text
@#!/bin/sh
#
# Does a complete automated build: checks out source, 
# builds on each system, and sends the final e-mail.
#
# Orion Sky Lawlor, olawlor@@acm.org, 2002/2/3
#

source config

echo "Autobuild initiated" `date` by `id`

# Run this command or die
Do() {
	echo "autobuild> " $@@
	"$@@"
	err="$?"
	if [ $err -ne 0 ] 
	then
		echo "error code $err during autobuild> " $@@ 
		exit 1
	fi
}

# wipe out processes
./kill_all

# Clean out old files
rm -fr $cvsModule* bin messages scripts status web
mkdir bin messages scripts status web
./update_web_start

# Do a clean cvs checkout:
export CVSROOT=$cvsRoot
echo "autobuild> Checking out fresh version from $CVSROOT $cvsModule"
Do cvs -d $CVSROOT co -P $cvsModule > /dev/null
# Overwrite CVS/Root files with path to stable nightly branch,
#  not development copy:
Do find $cvsModule -name "Root" -exec cp $HOME/Root '{}' ';'
Do tar cf $cvsModule.tar $cvsModule

Do ssh $cvsMachine << EOF
cd $cvsRootPath
rm -fr $cvsModule-nightly-test
cp -r $cvsModule $cvsModule-nightly-test
echo "autobuild> Remote cvs copy made."
EOF

echo "autobuild> Copying source to $webMachine"
Do cp $cvsModule.tar ${cvsModule}_src.tar
Do gzip ${cvsModule}_src.tar
Do scp ${cvsModule}_src.tar.gz $webMachine:$webMachBin
Do scp ${cvsModule}_src.tar.gz $webMachine:$webMachCur
Do rm ${cvsModule}_src*

Do ssh $webMachine << END_REMOTE
cd $webMachCur
uuencode ${cvsModule}_src.tar.gz ${cvsModule}_src.tar.gz > ${cvsModule}_src.uu
END_REMOTE

# Build on all systems (in parallel)
echo "autobuild> Building..."
./build_on_all

# After waiting four hours, send out results via e-mail
echo "Waiting to send e-mail:"
sleep `expr 3600 '*' 6`
./update_email
./update_cvs

@


1.4
log
@do uuencode on finesse
@
text
@d25 3
@


1.3
log
@generate a uuencoded charm tar ball
@
text
@a48 1
Do uuencode ${cvsModule}_src.tar.gz ${cvsModule}_src.tar.gz > ${cvsModule}_src.uu
a50 1
Do scp ${cvsModule}_src.uu     $webMachine:$webMachCur
d53 5
@


1.2
log
@Two changes:
  1.) Replace "charm" with "${cvsModule}".  This is more to
     allow testing of "charm-stable", etc. than to start expanding
     beyond charm.
  2.) Added "update_cvs" file, which if all tests pass,
     copies the CVS repository directory charm-nightly-test to
     charm-nightly.  This is for maintaining an up-to-date,
     but automatically tested version of Charm++.
@
text
@d49 1
d52 1
d61 1
a61 1
sleep `expr 3600 '*' 4`
@


1.1
log
@Re-wrote this automated build system, after a hard drive crash
destroyed the 2002 version.  Since I don't want to lose everything
again, I'm checking this one in.
@
text
@d3 1
a3 1
# Does a complete automated build: checks out charm, 
d16 1
a16 1
	$@@
d26 1
a26 1
rm -fr charm* bin messages scripts status web
d31 21
a51 11
export CVSROOT=":pserver:checkout@@charm.cs.uiuc.edu:/cvsroot"
echo "autobuild> Checking out fresh charm version from $CVSROOT"
Do cvs -d $CVSROOT co -P charm++ > /dev/null
Do tar cf charm.tar charm

echo "autobuild> Copying charm version to $webMachine"
Do cp charm.tar charm_src.tar
Do gzip charm_src.tar
Do scp charm_src.tar.gz $webMachine:$webMachBin
Do scp charm_src.tar.gz $webMachine:$webMachCur
Do rm charm_src*
d61 2
@

