Browse Source

Updated nightly builds code

master
Artyom Beilis 7 years ago
parent
commit
1c19118c91
6 changed files with 142 additions and 99 deletions
  1. +3
    -4
      tools/bsd-build.sh
  2. +2
    -0
      tools/mingw-build.sh
  3. +118
    -84
      tools/nightly_build.sh
  4. +10
    -5
      tools/report_to_html.py
  5. +3
    -6
      tools/solaris-build.sh
  6. +6
    -0
      tools/url.sh

+ 3
- 4
tools/bsd-build.sh View File

@@ -1,6 +1,7 @@
#!/usr/bin/env bash

cd /tmp

rm -fr /tmp/faults
mkdir /tmp/faults

@@ -9,9 +10,7 @@ rm -f report.txt
FLAGS=

rm -fr /tmp/nb
svn export svn://svn.code.sf.net/p/cppcms/code/framework/trunk nb
cd nb
tar -xjf cppcms_boost.tar.bz2
tar -xzvf nb.tar.gz

cd /tmp

@@ -22,7 +21,7 @@ bsd_gcc()
mkdir build
cd build

if cmake $FLAGS -DCMAKE_INCLUDE_PATH=/opt/icu46/include -DCMAKE_LIBRARY_PATH=/opt/icu46/lib -DCMAKE_CXX_FLAGS:STRING=-I/opt/icu46/include -DCMAKE_BUILD_TYPE=Debug -DDISABLE_STATIC=ON .. && make && make test
if cmake $FLAGS -DCMAKE_INCLUDE_PATH=/opt/icu46/include -DCMAKE_LIBRARY_PATH=/opt/icu46/lib -DCMAKE_CXX_FLAGS:STRING=-I/opt/icu46/include -DDISABLE_STATIC=ON .. && make -j 4 && make test
then
return 0;
else


+ 2
- 0
tools/mingw-build.sh View File

@@ -20,6 +20,7 @@ win_gcc()
-DCMAKE_INCLUDE_PATH=e:/projects/mingw/include \
-DCMAKE_LIBRARY_PATH=e:/projects/mingw/lib \
-DDISABLE_STATIC=ON .. \
-DBOOSTER_AIO_HAVE_PF_INET6=OFF \
-DCMAKE_BUILD_TYPE=Debug \
&& make && ctest -E icu_vs_os_timezone
then
@@ -47,6 +48,7 @@ win_msvc()
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INCLUDE_PATH='e:\projects\msvc9\packages\release\include' \
-DCMAKE_LIBRARY_PATH='e:\projects\msvc9\packages\release\lib' \
-DBOOSTER_AIO_HAVE_PF_INET6=OFF \
-DDISABLE_STATIC=ON .. \
&& nmake && ctest -E icu_vs_os_timezone
then


+ 118
- 84
tools/nightly_build.sh View File

@@ -1,9 +1,12 @@
#!/bin/bash
#!/bin/bash -x

ROOT_PATH=`dirname $0`
BSD_PATH=`dirname $0`/bsd-build.sh
SOLARIS_PATH=`dirname $0`/solaris-build.sh

EXCLUDE_TEST=test_locale_icu_vs_os_timezone
#EXCLUDE_TEST=

cd /tmp
rm -fr /tmp/faults
mkdir /tmp/faults
@@ -13,13 +16,16 @@ rm -f report.txt
FLAGS=

rm -fr /tmp/nb
svn export svn://svn.code.sf.net/p/cppcms/code/framework/trunk nb
cd nb
tar -xjf cppcms_boost.tar.bz2

source $ROOT_PATH/url.sh
REPO_REV=`svn info $REPO_URL | grep Revision`
svn export $REPO_URL nb || exit 1
rm -f nb.tar.gz
tar -czvf nb.tar.gz nb

cd /tmp

gcc_44_stlport()
clang_38_libcpp()
{
cd /tmp/nb
rm -fr build
@@ -27,7 +33,7 @@ gcc_44_stlport()
cd build


if cmake $FLAGS -DUSE_STLPORT=ON -DDISABLE_ICU_LOCALE=ON -DDISABLE_STD_LOCALE=ON -DCMAKE_BUILD_TYPE=Debug -DDISABLE_STATIC=ON .. && make && make test
if cmake -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_CXX_FLAGS="-stdlib=libc++ -I /usr/include/libcxxabi" -DDISABLE_STATIC=ON -DDISABLE_ICU_LOCALE=ON .. && make -j 4 && ctest -E "$EXCLUDE_TEST"
then
return 0;
else
@@ -39,7 +45,7 @@ gcc_44_stlport()
fi

}
gcc_44()
gcc_53()
{
cd /tmp/nb
rm -fr build
@@ -47,7 +53,7 @@ gcc_44()
cd build


if cmake $FLAGS -DDISABLE_STATIC=ON .. && make && make test
if cmake $FLAGS -DDISABLE_STATIC=ON .. && make -j 4 && ctest -E "$EXCLUDE_TEST"
then
return 0;
else
@@ -71,7 +77,7 @@ gcc_45()
cd build


if cmake $FLAGS -DDISABLE_STATIC=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=/opt/gcc45/bin/gcc-4.5 -DCMAKE_CXX_COMPILER=/opt/gcc45/bin/g++-4.5 .. && make && make test
if cmake $FLAGS -DDISABLE_STATIC=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=/opt/gcc45/bin/gcc-4.5 -DCMAKE_CXX_COMPILER=/opt/gcc45/bin/g++-4.5 .. && make && ctest -E "$EXCLUDE_TEST"
then
return 0;
else
@@ -95,7 +101,7 @@ clangcc()
cd build

if cmake $FLAGS -DCMAKE_C_COMPILER=`which clang` -DCMAKE_CXX_COMPILER=`which clang++` -DDISABLE_STATIC=ON -DCMAKE_BUILD_TYPE=Debug .. \
&& make && make test
&& make && ctest -E "$EXCLUDE_TEST"
then
return 0;
else
@@ -119,7 +125,7 @@ intel()
cd build

if cmake $FLAGS -DCMAKE_C_COMPILER=`which icc` -DCMAKE_CXX_COMPILER=`which icpc` -DDISABLE_STATIC=ON .. \
&& make && make test
&& make && ctest -E "$EXCLUDE_TEST"
then
return 0;
else
@@ -142,7 +148,7 @@ gcc_450x()
cd build


if cmake $FLAGS -DDISABLE_STATIC=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS:STRING=-std=c++0x -DCMAKE_C_COMPILER=/opt/gcc45/bin/gcc-4.5 -DCMAKE_CXX_COMPILER=/opt/gcc45/bin/g++-4.5 .. && make && make test
if cmake $FLAGS -DDISABLE_STATIC=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS:STRING=-std=c++0x -DCMAKE_C_COMPILER=/opt/gcc45/bin/gcc-4.5 -DCMAKE_CXX_COMPILER=/opt/gcc45/bin/g++-4.5 .. && make && ctest -E "$EXCLUDE_TEST"
then
return 0;
else
@@ -161,52 +167,80 @@ cd /tmp
# LINUX
#####################

for TEST in gcc_44 intel gcc_44_stlport clangcc
do
FILE=/tmp/$TEST.txt
if $TEST &> $FILE
then
echo $TEST - pass >>/tmp/report.txt
else
echo $TEST - fail >>/tmp/report.txt
fi
cp $FILE /tmp/faults/
done
if true
then

for TEST in gcc_53 clang_38_libcpp
do
FILE=/tmp/$TEST.txt
if $TEST &> $FILE
then
echo $TEST - pass >>/tmp/report.txt
else
echo $TEST - fail >>/tmp/report.txt
fi
cp $FILE /tmp/faults/
done

fi

#####################
# FreeBSD
#####################

VBoxHeadless -s FreeBSD &
PID=$!
sleep 60
if true
then

VBoxHeadless -s FreeBSD &
PID=$!
sleep 60

for x in 1..10
do
echo trying to copy files
if scp -P 2223 $BSD_PATH /tmp/nb.tar.gz artik@localhost:/tmp
then
echo "Done"
break
else
sleep 10
fi
done

scp -P 2223 $ROOT_PATH/url.sh artik@localhost:/tmp
ssh -p 2223 artik@localhost /tmp/bsd-build.sh
scp -P 2223 artik@localhost:/tmp/report.txt /tmp/tmp.txt
cat /tmp/tmp.txt >>/tmp/report.txt
scp -P 2223 'artik@localhost:/tmp/faults/*' /tmp/faults/

scp -P 2223 $BSD_PATH artik@localhost:/tmp
ssh -p 2223 artik@localhost /tmp/bsd-build.sh
scp -P 2223 artik@localhost:/tmp/report.txt /tmp/tmp.txt
cat /tmp/tmp.txt >>/tmp/report.txt
scp -P 2223 'artik@localhost:/tmp/faults/*' /tmp/faults/
VBoxManage controlvm FreeBSD acpipowerbutton
wait $PID

VBoxManage controlvm FreeBSD acpipowerbutton
wait $PID
fi


#####################
# Solaris
#####################

VBoxHeadless -s Solaris &
PID=$!
sleep 300
if true
then

VBoxHeadless -s Solaris &
PID=$!
sleep 300

scp -P 2222 $SOLARIS_PATH artik@localhost:/tmp
ssh -p 2222 artik@localhost /tmp/solaris-build.sh
scp -P 2222 artik@localhost:/tmp/report.txt /tmp/tmp.txt
cat /tmp/tmp.txt >>/tmp/report.txt
scp -P 2222 'artik@localhost:/tmp/faults/*' /tmp/faults/
scp -P 2222 $SOLARIS_PATH /tmp/nb.tar.gz artik@localhost:/tmp
scp -P 2222 $ROOT_PATH/url.sh artik@localhost:/tmp
ssh -p 2222 artik@localhost /tmp/solaris-build.sh
scp -P 2222 artik@localhost:/tmp/report.txt /tmp/tmp.txt
cat /tmp/tmp.txt >>/tmp/report.txt
scp -P 2222 'artik@localhost:/tmp/faults/*' /tmp/faults/

VBoxManage controlvm Solaris acpipowerbutton
wait $PID
VBoxManage controlvm Solaris acpipowerbutton
wait $PID

fi

#####################
# Debian Armel
@@ -218,45 +252,48 @@ wait $PID
# Windows
#####################

cd /tmp
rm -fr nb/build
rm -f nb.tar.gz
tar -czf nb.tar.gz nb
cp $ROOT_PATH/mingw-build.sh .
smbclient -U guest -N '//192.168.2.100/storage' -c 'put nb.tar.gz'
smbclient -U guest -N '//192.168.2.100/storage' -c 'put mingw-build.sh'
smbclient -U guest -N '//192.168.2.100/storage' -c 'del faults.tar.gz'

VBoxHeadless -s XP &
PID=$!

for x in {1..240}
do
if [ -e /mnt/raid/storage/faults.tar.gz ]
then
sleep 1
break
else
sleep 30
fi
done
if true
then

VBoxManage controlvm XP acpipowerbutton
wait $PID
cd /tmp
rm -fr nb/build
rm -f nb.tar.gz
tar -czf nb.tar.gz nb
cp $ROOT_PATH/mingw-build.sh .
smbclient -U guest -N '//192.168.2.100/storage' -c 'put nb.tar.gz'
smbclient -U guest -N '//192.168.2.100/storage' -c 'put mingw-build.sh'
smbclient -U guest -N '//192.168.2.100/storage' -c 'del faults.tar.gz'

VBoxHeadless -s XP &
PID=$!

for x in {1..240}
do
if [ -e /mnt/raid1/storage/faults.tar.gz ]
then
sleep 1
break
else
sleep 30
fi
done

if [ -e /mnt/raid/storage/faults.tar.gz ]
then
mkdir temp
cp /mnt/raid/storage/faults.tar.gz temp
cd temp
tar -xzf faults.tar.gz
cat faults/report.txt >>/tmp/report.txt
rm faults/report.txt
cp faults/* /tmp/faults/
cd ..
rm -fr temp
fi
VBoxManage controlvm XP acpipowerbutton
wait $PID

if [ -e /mnt/raid1/storage/faults.tar.gz ]
then
mkdir temp
cp /mnt/raid1/storage/faults.tar.gz temp
cd temp
tar -xzf faults.tar.gz
cat faults/report.txt >>/tmp/report.txt
rm faults/report.txt
cp faults/* /tmp/faults/
cd ..
rm -fr temp
fi
fi

#####################
# Report
@@ -264,17 +301,14 @@ fi


cp /tmp/report.txt /tmp/faults
cp /tmp/report.txt /home/artik/vserver-www/www/files/nightly-build-report.txt
cp /tmp/report.txt /home/artik/nightly-build-report.txt

cd /tmp
rm -fr /tmp/nightly-build-report
mv /tmp/faults /tmp/nightly-build-report

tar -czvf nightly-build-report.tar.gz nightly-build-report
cp nightly-build-report.tar.gz ~/
cp nightly-build-report.tar.gz /home/artik/vserver-www/www/files/
cp -a nightly-build-report /home/artik/vserver-www/www/files/
$ROOT_PATH/report_to_html.py < ~/vserver-www/www/files/nightly-build-report.txt >~/vserver-www/www/files/nightly-build-report.html
$ROOT_PATH/report_to_html.py "$REPO_URL" "$REPO_REV" < /home/artik/nightly-build-report.txt >/home/artik/nightly-build-report.html

$HOME/bin/sync_build.sh



+ 10
- 5
tools/report_to_html.py View File

@@ -5,11 +5,11 @@ import sys
import datetime

dic = [ \
[ 'gcc_44', '<td>Linux 2.6.32</td><td>GCC-4.4</td><td>x86_64</td>' ] ,
[ 'gcc_44_stlport', '<td>Linux 2.6.32</td><td>GCC-4.4/STLPort 5.2</td><td>x86_64</td>'],
[ 'clangcc', '<td>Linux 2.6.32</td><td>Clang-2.9</td><td>x86_64</td>'],
[ 'intel', '<td>Linux 2.6.32</td><td>Intel 12.1</td><td>x86_64</td>'],
[ 'arm', '<td>Linux 2.6.32</td><td>GCC-4.1</td><td>armel</td>'],
[ 'gcc_53', '<td>Linux 4.4</td><td>GCC-5.3</td><td>x86_64</td>' ] ,
[ 'clang_38_libcpp', '<td>Linux 4.4</td><td>Clang-3.8/libc++</td><td>x86_64</td>' ] ,
#[ 'clangcc', '<td>Linux 2.6.32</td><td>Clang-2.9</td><td>x86_64</td>'],
#[ 'intel', '<td>Linux 2.6.32</td><td>Intel 12.1</td><td>x86_64</td>'],
#[ 'arm', '<td>Linux 2.6.32</td><td>GCC-4.1</td><td>armel</td>'],
[ 'bsd_gcc', '<td>FreeBSD 8.0</td><td>GCC-4.2</td><td>x86</td>'],
[ 'solaris_gcc', '<td>OpenSolaris 2009.06</td><td>GCC-3.4</td><td>x86</td>'],
[ 'solaris_suncc', '<td>OpenSolaris 2009.06</td><td>Sun Studio 5.11</td><td>x86</td>'],
@@ -17,6 +17,9 @@ dic = [ \
[ 'win_msvc', '<td>Windows XP SP2</td><td>MSVC 2008</td><td>x86</td>'],
]

repo_url=sys.argv[1]
repo_rev=sys.argv[2]

r=r'(\w+)\s+-\s*(pass|fail)';

print """
@@ -31,6 +34,8 @@ print """
"""
print datetime.datetime.now().strftime('<h2>Tested at: %Y-%m-%d %H:%M</h2>')

print "<p>%s<br/>%s</p>" % (repo_url,repo_rev)

print """
<table cellpadding="3" cellspacing="0" border="1" >
<tr><th width="20%" >Operating System</th><th width="20%" >Compiler</th><th width="20%">Platform</th><th width="20%">Status</th></tr>


+ 3
- 6
tools/solaris-build.sh View File

@@ -9,11 +9,8 @@ rm -f report.txt
FLAGS=

rm -fr /tmp/nb
svn export svn://svn.code.sf.net/p/cppcms/code/framework/trunk nb
cd nb
/usr/gnu/bin/tar -xjf cppcms_boost.tar.bz2
/usr/gnu/bin/tar -xzf nb.tar.gz

cd /tmp

solaris_suncc()
{
@@ -22,7 +19,7 @@ solaris_suncc()
mkdir build
cd build

if cmake $FLAGS -DCMAKE_C_COMPILER=/usr/bin/suncc -DCMAKE_CXX_COMPILER=/usr/bin/sunCC -DCMAKE_INCLUDE_PATH=$HOME/sun/include -DCMAKE_LIBRARY_PATH=$HOME/sun/lib -DDISABLE_STATIC=ON .. -DCMAKE_BUILD_TYPE=Debug && make && ctest -E '(test_locale_collate|test_iostreams_streambuf|http_timeouts_test_write)'
if cmake $FLAGS -DCMAKE_C_COMPILER=/usr/bin/suncc -DCMAKE_CXX_COMPILER=/usr/bin/sunCC -DCMAKE_INCLUDE_PATH=$HOME/sun/include -DCMAKE_LIBRARY_PATH=$HOME/sun/lib -DDISABLE_STATIC=ON .. -DCMAKE_BUILD_TYPE=Debug && make -j 4 && ctest -E '(test_locale_collate|test_iostreams_streambuf|http_timeouts_test_write)'
then
return 0;
else
@@ -41,7 +38,7 @@ solaris_gcc()
mkdir build
cd build

if cmake $FLAGS -DCMAKE_INCLUDE_PATH=$HOME/gcc/include -DCMAKE_LIBRARY_PATH=$HOME/gcc/lib -DDISABLE_STATIC=ON -DCMAKE_BUILD_TYPE=Debug .. && make && ctest -E http_timeouts_test_write
if cmake $FLAGS -DCMAKE_INCLUDE_PATH=$HOME/gcc/include -DCMAKE_LIBRARY_PATH=$HOME/gcc/lib -DDISABLE_STATIC=ON .. && make -j 4 && ctest -E http_timeouts_test_write
then
return 0;
else


+ 6
- 0
tools/url.sh View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash

#REPO_URL=svn://svn.code.sf.net/p/cppcms/code/framework/branches/v1.0_fixes
REPO_URL=http://svn.code.sf.net/p/cppcms/code/framework/trunk



Loading…
Cancel
Save