COIN-OR::LEMON - Graph Library

source: lemon-0.x/scripts/repocheck/commit-checker @ 2295:e464aaa8cdd7

Last change on this file since 2295:e464aaa8cdd7 was 2295:e464aaa8cdd7, checked in by Alpar Juttner, 13 years ago

Send message to the commit author, as well

  • Property exe set to *
File size: 2.8 KB
Line 
1#!/bin/bash
2
3ROOT=$PWD
4REV=$1
5LOGFILE=${ROOT}/logs/${REV}.log
6
7function im-not-the-next() {
8    for i in `ls queue`
9    do
10        if [ $i -lt $REV ]; then
11            true
12            return
13        fi
14    done
15    false
16}
17
18function make-dir () {
19    if [ ! -d $1 ]; then
20        mkdir $1
21    fi
22}
23
24function makecheck () {
25    if [ `which $(echo $CXX|cut -f1 -d' ' )` ]; then
26        make-dir $ODIR &&
27        cd $ODIR &&
28        time ../trunk/configure $* &&
29        time make check &&
30        cd ..
31    else
32        echo
33        echo '***************************************************************'
34        echo "  COMPILER $CXX CANNOT BE FOUND"
35        echo '***************************************************************'
36        echo
37    fi
38}
39
40function check-compilers() {
41cd trunk &&
42autoreconf -vi &&
43cd .. &&
44# ODIR=gcc-3.3 CXX=g++-3.3 CXXFLAGS='-W -Wall -Werror' makecheck --enable-demo --enable-benchmark &&
45# ODIR=gcc-3.4 CXX=g++-3.4 CXXFLAGS='-W -Wall -Werror' makecheck --enable-demo --enable-benchmark &&
46# ODIR=gcc-4.0 CXX=g++-4.0 CXXFLAGS='-W -Wall -Werror' makecheck --enable-demo --enable-benchmark &&
47ODIR=gcc-4.1 CXX=g++-4.1 CXXFLAGS='-W -Wall -Werror' makecheck --enable-demo --enable-benchmark &&
48# # ODIR=icc-8.0 CXX=icpc-8.0 CXXFLAGS='-Werror' makecheck --enable-demo --enable-benchmark &&
49# ODIR=icc-9.0 CXX='icpc-9.0' CXXFLAGS='-Werror' makecheck --enable-demo --enable-benchmark &&
50# ODIR=mingw CXX='g++' makecheck --with-msw --target=i586-mingw32msvc --host=i586-mingw32msvc --build=i386-linux --without-glpk &&
51echo &&
52echo '**********************************************************************' &&
53echo '   REPOSITORY SEEMS OK' &&
54echo '**********************************************************************' &&
55echo
56}
57
58if [ $# -eq 0 ]; then
59    echo 'Usage:'
60    echo '   commit-checker --init'
61    echo '   commit-checker revision'
62    exit 1
63elif [ $1 = '--init' ]; then
64    rm -rf queue
65    mkdir queue
66    make-dir logs
67    rm -rf trunk
68    svn co https://lemon.cs.elte.hu/svn/hugo/trunk
69    exit 0
70fi
71
72touch queue/$REV
73
74while im-not-the-next; do
75    sleep 10
76done
77
78echo RUN $REV
79
80svn up -r$REV trunk >${LOGFILE} 2>&1
81
82AUTHOR=`svn info trunk|grep 'Last Changed Author:'|cut -d ' ' -f 4`
83EMAIL=`awk '$1=="'${AUTHOR}'" {print $2}' <${ROOT}/e-mails`
84
85echo '
86
87*************************************************************
88Check revision '${REV}' of '${AUTHOR}' ('${EMAIL}')
89*************************************************************
90
91'>>${LOGFILE} 2>&1
92
93if check-compilers >>${LOGFILE} 2>&1
94then
95    echo -n
96    echo OK $AUTHOR $EMAIL $REV
97else
98    echo NEMOK $AUTHOR $EMAIL $REV
99    echo 'Dear '${AUTHOR}',
100Your svn commit -r'${REV}' made the repository broken.
101The compilation log is attached.
102Please fix the problem as soon as possible.
103
104Best regards,
105LEMON Commit Checking Service
106'|
107    mail -a ${LOGFILE} -s '[LEMON-SVN] WARNING: Broken repository' \
108        ${EMAIL} alpar@cs.elte.hu
109fi
110   
111#    rm ${LOGFILE}
112rm queue/$REV
113
Note: See TracBrowser for help on using the repository browser.