Kaydet (Commit) 794b2a78 authored tarafından Kurt B. Kaiser's avatar Kurt B. Kaiser

1. Clean workspace more thoughly before build.

2. Add url of branch we are building to 'results' webpage.
   (url is now available in $repo_path, could be added to failure email.)
3. Adjust permissions to improve upload reliability.
üst e94a8263
......@@ -4,9 +4,11 @@
## does this:
## svn up ; ./configure ; make ; make test ; make install ; cd Doc ; make
##
## Logs are kept and rsync'ed to the host. If there are test failure(s),
## Logs are kept and rsync'ed to the webhost. If there are test failure(s),
## information about the failure(s) is mailed.
##
## The user must be a member of the webmaster group locally and on webhost.
##
## This script is run on the PSF's machine as user neal via crontab.
##
## Yes, this script would probably be easier in python, but then
......@@ -74,7 +76,8 @@ LEAKY_TESTS="test_(asynchat|cmd_line|docxmlrpc|dumbdbm|file|ftplib|httpservers|i
# test_compiler almost never finishes with the same number of refs
# since it depends on other modules, skip it.
# test_logging causes hangs, skip it.
LEAKY_SKIPS="-x test_compiler test_logging"
# KBK 21Apr09: test_httpservers causes hangs, skip for now.
LEAKY_SKIPS="-x test_compiler test_logging test_httpservers"
# Change this flag to "yes" for old releases to only update/build the docs.
BUILD_DISABLED="no"
......@@ -131,9 +134,14 @@ mail_on_failure() {
## setup
cd $DIR
make clobber /dev/null 2>&1
cp -p Modules/Setup.dist Modules/Setup
# But maybe there was no Makefile - we are only building docs. Clear build:
rm -rf build/
mkdir -p build
rm -f $RESULT_FILE build/*.out
rm -rf $INSTALL_DIR
## get the path we are building
repo_path=$(grep "url=" .svn/entries | sed -e s/\\W*url=// -e s/\"//g)
## create results file
TITLE="Automated Python Build Results"
......@@ -151,6 +159,8 @@ echo " </tr><tr>" >> $RESULT_FILE
echo " <td>Hostname:</td><td>`uname -n`</td>" >> $RESULT_FILE
echo " </tr><tr>" >> $RESULT_FILE
echo " <td>Platform:</td><td>`uname -srmpo`</td>" >> $RESULT_FILE
echo " </tr><tr>" >> $RESULT_FILE
echo " <td>URL:</td><td>$repo_path</td>" >> $RESULT_FILE
echo " </tr>" >> $RESULT_FILE
echo "</table>" >> $RESULT_FILE
echo "<ul>" >> $RESULT_FILE
......@@ -221,7 +231,7 @@ if [ $err = 0 -a "$BUILD_DISABLED" != "yes" ]; then
start=`current_time`
## ensure that the reflog exists so the grep doesn't fail
touch $REFLOG
$PYTHON $REGRTEST_ARGS -R 4:3:$REFLOG -u network,urlfetch $LEAKY_SKIPS >& build/$F
$PYTHON $REGRTEST_ARGS -R 4:3:$REFLOG -u network $LEAKY_SKIPS >& build/$F
LEAK_PAT="($LEAKY_TESTS|sum=0)"
NUM_FAILURES=`egrep -vc "$LEAK_PAT" $REFLOG`
place_summary_first build/$F
......@@ -257,13 +267,13 @@ start=`current_time`
# which will definitely fail with a conflict.
#CONFLICTED_FILE=commontex/boilerplate.tex
#conflict_count=`grep -c "<<<" $CONFLICTED_FILE`
make clean
conflict_count=0
if [ $conflict_count != 0 ]; then
echo "Conflict detected in $CONFLICTED_FILE. Doc build skipped." > ../build/$F
err=1
else
make checkout update html >& ../build/$F
make clean > ../build/$F 2>&1
make checkout update html >> ../build/$F 2>&1
err=$?
fi
update_status "Making doc" "$F" $start
......@@ -277,6 +287,8 @@ echo "</body>" >> $RESULT_FILE
echo "</html>" >> $RESULT_FILE
## copy results
chgrp -R webmaster build/html
chmod -R g+w build/html
rsync $RSYNC_OPTS build/html/* $REMOTE_SYSTEM:$REMOTE_DIR
cd ../build
rsync $RSYNC_OPTS index.html *.out $REMOTE_SYSTEM:$REMOTE_DIR/results/
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment