diff options
-rwxr-xr-x | autobuild.sh | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/autobuild.sh b/autobuild.sh new file mode 100755 index 00000000..a0b288c2 --- /dev/null +++ b/autobuild.sh @@ -0,0 +1,72 @@ +#!/bin/bash - + +PROJECT=libguestfs +FEBOOTSTRAP_PATH=$HOME/d/febootstrap +MAILTO=libguestfs@redhat.com + +#---------------------------------------------------------------------- +# Helper functions. + +failed () +{ + mail -s "$(hostname -s) $PROJECT FAILED $1 $gitsha" $MAILTO < local-log +} + +ok () +{ + mail -s "$(hostname -s) $PROJECT success $gitsha" $MAILTO < local-log +} + +#---------------------------------------------------------------------- + +set -e +set -x + +# Make sure we build and test against latest febootstrap. +PATH=$FEBOOTSTRAP_PATH:$FEBOOTSTRAP_PATH/helper:$PATH + +# Remove any old cache directories. +rm -rf /tmp/guestfs.* ||: + +rm -f local-log +cat > local-log <<EOF + +This is an automatic message generated by the builder on +$(hostname -s) for $PROJECT. Log files from the build +follow below. + +$(uname -a) +$(date) + +----- + +EOF +exec >> local-log 2>&1 + +# Pull from the public repo so that we don't need ssh-agent. +git pull --rebase git://git.annexia.org/git/libguestfs.git master +git clean -d -f + +# The git version we are building. +gitsha=$(git log|head -1|awk '{print $2}') + +# Do the configure step. +./bootstrap ||: +./autogen.sh --enable-gcc-warnings || { + failed "configure step" + exit 1 +} + +# Do the build step. +make || { + failed "build step" + exit 1 +} + +# Run the tests. +make check || { + failed "tests" + exit 1 +} + +ok |