#1230 Buildserver maintenance.

v0.27.3
Robin Mills 9 years ago
parent 20d964d88b
commit e63f865b97

@ -1,5 +1,9 @@
#!/bin/bash
##
# This script is rather slow and takes about 10 minutes
# One day I'll rewrite it in Python and it will run in seconds
if [ "$#" != "1" ]; then
echo "syntax: $0 directory"
exit 1
@ -147,6 +151,5 @@ for date in ${dates[*]}; do
done
done
# That's all Folks!
##

@ -1,45 +1,33 @@
#!/bin/bash
dow=$(date '+%w') # 0..6 day of the week
dom=$(date '+%d') # 1..31 day of the month
a=$(/usr/local/bin/svn info .. | grep '^Last Changed Rev' | cut -f 2 -d':' | tr -d ' ')
b=$(/usr/local/bin/svn update . | grep ^At | cut '-d ' -f 3 | cut -d. -f 1 | tr -d ' ')
##
# This script is called by Jenkins to perform dailyBuild.
# The script should be run in the directory ~/gnu/exiv2/buildserver
#
# The script operates in 3 stages:
# 1 executes dailyCMake.sh to perform the build and test on the build nodes
# 2 executes dailyTest.sh to test that the build bundles are good
# 3 rebuilds all the links in the userContent/builds for "Category" access to the builds
if [ "$a"xx != "$b"yy -o "$dow" == 1 -o "$dom" == 1 ]; then # build if changed or monday or 1st of month
b=$(/usr/local/bin/svn info . | grep ^Revision | cut '-d:' -f 2 | tr -d ' ')
echo ==================================
echo 'updated from svn:' $a 'to svn:' $b
echo ==================================
ssh rmills@rmillsmm 'cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; rm -rf build ; contrib/buildserver/dailyCMake.sh'
ssh rmills@rmillsmm-kubuntu 'cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; rm -rf build ; contrib/buildserver/dailyCMake.sh'
ssh rmills@rmillsmm-w7 'cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; rm -rf build ; contrib/buildserver/dailyCMake.sh'
ssh rmills@rmillsmm-w7 'export PLATFORM=msvc ;cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; rm -rf build ; contrib/buildserver/dailyCMake.sh'
ssh rmills@rmillsmm-w7 'export PLATFORM=mingw;export win32=true;cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; rm -rf build ; contrib/buildserver/dailyCMake.sh'
ssh rmills@rmillsmm-w7 'cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; rm -rf build ; env PLATFORM=msvc contrib/buildserver/dailyCMake.sh'
ssh rmills@rmillsmm-w7 'cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; rm -rf build ; env PLATFORM=mingw win32=true contrib/buildserver/dailyCMake.sh'
##
# test the delivery
date=$(date '+%Y-%m-%d+%H-%M-%S')
svn=$(/usr/local/bin/svn info .. | grep '^Last Changed Rev' | cut -f 2 -d':' | tr -d ' ')
(
ssh rmills@rmillsmm 'cd ~/gnu/exiv2/buildserver ; contrib/buildserver/dailyTest.sh'
ssh rmills@rmillsmm-kubuntu 'cd ~/gnu/exiv2/buildserver ; contrib/buildserver/dailyTest.sh'
ssh rmills@rmillsmm-w7 'cd ~/gnu/exiv2/buildserver ; contrib/buildserver/dailyTest.sh'
ssh rmills@rmillsmm-w7 'export PLATFORM=msvc; cd ~/gnu/exiv2/buildserver ; contrib/buildserver/dailyTest.sh'
ssh rmills@rmillsmm-w7 'export PLATFORM=mingw;export win32=true;cd ~/gnu/exiv2/buildserver ; contrib/buildserver/dailyTest.sh'
) | tr -d $'\r' | tee "/mmHD/Users/Shared/Jenkins/Home/userContent/builds/Daily/test-svn-${svn}-date-${date}.txt"
svn=$(/usr/local/bin/svn info . | grep '^Last Changed Rev' | cut -f 2 -d':' | tr -d ' ')
ssh rmills@rmillsmm 'cd ~/gnu/exiv2/buildserver ; contrib/buildserver/dailyTest.sh' | tr -d $'\r' | tee --append "/mmHD/Users/Shared/Jenkins/Home/userContent/builds/Daily/test-svn-${svn}-date-${date}.txt"
ssh rmills@rmillsmm-kubuntu 'cd ~/gnu/exiv2/buildserver ; contrib/buildserver/dailyTest.sh' | tr -d $'\r' | tee --append "/mmHD/Users/Shared/Jenkins/Home/userContent/builds/Daily/test-svn-${svn}-date-${date}.txt"
ssh rmills@rmillsmm-w7 'cd ~/gnu/exiv2/buildserver ; contrib/buildserver/dailyTest.sh' | tr -d $'\r' | tee --append "/mmHD/Users/Shared/Jenkins/Home/userContent/builds/Daily/test-svn-${svn}-date-${date}.txt"
ssh rmills@rmillsmm-w7 'cd ~/gnu/exiv2/buildserver ; env PLATFORM=msvc contrib/buildserver/dailyTest.sh' | tr -d $'\r' | tee --append "/mmHD/Users/Shared/Jenkins/Home/userContent/builds/Daily/test-svn-${svn}-date-${date}.txt"
ssh rmills@rmillsmm-w7 'cd ~/gnu/exiv2/buildserver ; env PLATFORM=mingw win32=true contrib/buildserver/dailyTest.sh' | tr -d $'\r' | tee --append "/mmHD/Users/Shared/Jenkins/Home/userContent/builds/Daily/test-svn-${svn}-date-${date}.txt"
##
# categorize the builds
ssh rmills@rmillsmm '~/gnu/exiv2/buildserver/contrib/buildserver/categorize.sh /mmHD/Users/Shared/Jenkins/Home/userContent/builds'
else
echo ==================================
echo 'no build needed svn = ' $a
echo ==================================
fi
ssh rmills@rmillsmm 'cd ~/gnu/exiv2/buildserver ; contrib/buildserver/categorize.sh /mmHD/Users/Shared/Jenkins/Home/userContent/builds'
# That's all Folks!
##

Loading…
Cancel
Save