COIN-OR::LEMON - Graph Library

source: lemon-0.x/scripts/server-services/repocheck/commit-checker @ 2319:99b1f7aec9d5

Last change on this file since 2319:99b1f7aec9d5 was 2319:99b1f7aec9d5, checked in by Alpar Juttner, 18 years ago
  • Change the subjects of broken repository mail alerts.
  • Do not send the log file to the list
  • Property exe set to *
File size: 3.0 KB
RevLine 
[2317]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 ${ROOT}/queue/$REV
73
74while im-not-the-next; do
75    sleep 10
76done
77
78# echo 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
96else
97    echo 'Dear '${AUTHOR}',
98Your svn commit -r'${REV}' made the repository broken.
99The compilation log is attached.
100Please fix the problem as soon as possible.
101
102Best regards,
103LEMON Commit Checking Service
104'|
[2319]105    mail -a ${LOGFILE} -s '[LEMON-SVN] WARNING: Revision '${REV}' is broken' \
[2318]106        ${EMAIL} alpar@cs.elte.hu
107
108    echo 'Commit -r'${REV}' made the repository broken.
109Do not update until this bug is fixed, unless you really need it.
110
111Best regards,
112LEMON Commit Checking Service
113'|
[2319]114    mail -s 'WARNING: Revision '${REV}' is broken' \
[2318]115        ${EMAIL} lemon-commits@lemon.cs.elte.hu
[2317]116fi
117   
118#    rm ${LOGFILE}
119rm ${ROOT}/queue/$REV
120
Note: See TracBrowser for help on using the repository browser.