do-nightly-tests-and-publish at [a0a0e8ad2c]

File build/test/do-nightly-tests-and-publish artifact 8a8ae4ef30 part of check-in a0a0e8ad2c


#! /bin/bash

# Update PATH to include path to Tclkit, otherwise cross-compiles will fail
PATH="${PATH}:/home/rkeene/bin"
export PATH

# Define build and web paths
KITCREATORDIR="/home/rkeene/devel/kitcreator"
WEBROOTDIR="/web/rkeene/devel/kitcreator/kitbuild"
export KITCREATORDIR WEBROOTDIR

cd "${KITCREATORDIR}" || exit 1

SVN_LCR="$(svn info -R . | grep '^Last Changed Rev:' | sed 's@^.*:  *@@' | sort -n | tail -1)"
TESTNAME="svn_r${SVN_LCR}"
export SVN_LCR TESTNAME

if [ -d "${WEBROOTDIR}/${TESTNAME}" ]; then
	# Don't re-run the tests if nothing has changed
	exit 0
fi

cd build/test || exit 1

if [ ! -x test -o ! -x publish-tests ]; then
	echo 'Missing scripts, aborting.' >&2

	exit 1
fi

# Only run one at a time
if [ -f '__AUTO_TESTS_RUNNING__' ]; then
	exit 1
fi
touch '__AUTO_TESTS_RUNNING__'

# Clean builds
rm -rf kits

# Run tests
nice -n 20 ./test >/dev/null 2>/dev/null

# Clean old SVN published results
rm -rf "${WEBROOTDIR}"/svn_r*/

# Publish New Results
./publish-tests "${TESTNAME}"

# Clean
rm -f '__AUTO_TESTS_RUNNING__'

exit 0