diff --git a/contrib/buildserver/ReadMe.txt b/contrib/buildserver/ReadMe.txt index cb3aeb8c..50849976 100644 --- a/contrib/buildserver/ReadMe.txt +++ b/contrib/buildserver/ReadMe.txt @@ -13,12 +13,23 @@ Documentation and Scripts used by Jenkins -rwxr-xr-x@ 1 rmills staff 5.8K 14 Dec 21:55 cmake_daily.sh* <---- Builds exiv2 using cmake on all platforms -rwxr-xr-x@ 1 rmills staff 3.6K 15 Dec 05:49 test_daily.sh* <---- Called by Jenkins to sync and build all platforms -rw-r--r--@ 1 rmills staff 4.0K 14 Dec 18:31 dailyReadMe.txt <---- Template for the bundle ReadMe.txt generated by cmake_daily.sh +-rwxr-xr-x@ 1 rmills staff 2.3K 16 Dec 19:41 spread* <---- Used to update the 'Categorized' builds +Detecting if svn has updated a branch +------------------------------------- + +a=$(svn info . | grep ^Revision | cut -d: -f 2) +b=$(svn update . | grep ^At | cut '-d ' -f 3|cut -d. -f 1) +if [ $a -eq $b ]; then + echo 'no build needed svn = ' $a +else + echo 'updated from svn:' $a 'to svn:' $b +fi Buildserver Configuration ------------------------- -The buildserver configuration scripts are located here: +The buildserver jobs configurations are located here: 523 rmills@rmillsmbp:/mmHD/Users/Shared/Jenkins/Home/jobs $ dir drwxr-xr-x 1 rmills staff 296B 16 Dec 10:22 Exiv2-trunk/ @@ -29,44 +40,89 @@ drwxr-xr-x 1 rmills staff 296B 12 May 2015 Exiv2-jenkins/ drwxr-xr-x 1 rmills staff 330B 2 May 2015 Exiv2-video-write/ 540 rmills@rmillsmbp:/mmHD/Users/Shared/Jenkins/Home/jobs/Exiv2-trunk $ dir --rw-r--r-- 1 rmills staff 8.1K 16 Dec 10:22 config.xml <-- the build magic -drwxr-xr-x 1 rmills staff 264B 29 Dec 2014 configurations/ <--- history of config/build -drwxr-xr-x 1 rmills staff 1.2K 15 Dec 22:38 builds/ <-- logs --rw-r--r-- 1 rmills staff 78B 16 Dec 10:26 scm-polling.log <-- name says it all +-rw-r--r-- 1 rmills staff 8.1K 16 Dec 10:22 config.xml <---- Build magic +drwxr-xr-x 1 rmills staff 264B 29 Dec 2014 configurations/ <---- History of config/build +drwxr-xr-x 1 rmills staff 1.2K 15 Dec 22:38 builds/ <---- Logs +-rw-r--r-- 1 rmills staff 78B 16 Dec 10:26 scm-polling.log <---- name says it all +-rw-r--r-- 1 rmills staff 5B 15 Dec 22:26 nextBuildNumber +-rw-r--r-- 1 rmills staff 46B 15 Dec 22:26 svnexternals.txt <---- don't know (nothing important) lrwxr-xr-x 1 rmills staff 22B 15 Dec 22:26 lastStable@ -> builds/lastStableBuild lrwxr-xr-x 1 rmills staff 26B 15 Dec 22:26 lastSuccessful@ -> builds/lastSuccessfulBuild --rw-r--r-- 1 rmills staff 5B 15 Dec 22:26 nextBuildNumber --rw-r--r-- 1 rmills staff 46B 15 Dec 22:26 svnexternals.txt <-- don't know (nothing important) -541 rmills@rmillsmbp:/mmHD/Users/Shared/Jenkins/Home/jobs/Exiv2-trunk $ -I've added Exiv2-trunk/config.xml to the repos. I'll add something to jenkins_build.sh to keep it up to date. +I've added Exiv2-trunk/config.xml to the repos. +I'll add something to jenkins_build.sh to keep the copy in the repos up to date. Buildserver Scripts ------------------- -Stable scripts and unlikely to change -Exiv2-trunk (and selected branches): -Runs: when svn trunk changes -./contrib/buildserver/jenkins_build.sh + Stable scripts (unlikely to change) + Job:Exiv2-trunk (and selected branches) + Script: + ./contrib/buildserver/jenkins_build.sh -Caution: older branches have jenkins_build.sh and jenkins_build.bat - in the root of the repos + Trigger: when svn trunk changes -Volatile Scripts - still work in progress -trunk-cmake-daily: -Runs: 2am every day -ssh rmills@rmillsmm 'cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; contrib/buildserver/cmake_daily.sh' -ssh rmills@rmillsmm-kubuntu 'cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; contrib/buildserver/cmake_daily.sh' -ssh rmills@rmillsmm-w7 'cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; contrib/buildserver/cmake_daily.sh' -ssh rmills@rmillsmm-w7 'export PLATFORM=msvc;cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; contrib/buildserver/cmake_daily.sh' + Caution: + older branches have jenkins_build.sh and jenkins_build.bat + in the root directory + + Work in progress scripts: + Job: trunk-cmake-daily: + Trigger: 2am every day + Script: + cd ~/gnu/exiv2/buildserver + a=$(/usr/local/bin/svn info . | grep ^Revision | cut '-d:' -f 2 | tr -d ' ') + b=$(/usr/local/bin/svn update . | grep ^At | cut '-d ' -f 3 | cut -d. -f 1 | tr -d ' ') + if [ "$a" == "$b" ]; then + echo ================================== + echo 'no build needed svn = ' $a + echo ================================== + else + echo ================================== + echo 'updated from svn:' $a 'to svn:' $b + echo ================================== + ssh rmills@rmillsmm 'cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; contrib/buildserver/cmake_daily.sh' + ssh rmills@rmillsmm-kubuntu 'cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; contrib/buildserver/cmake_daily.sh' + ssh rmills@rmillsmm-w7 'cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; contrib/buildserver/cmake_daily.sh' + ssh rmills@rmillsmm-w7 'export PLATFORM=msvc;cd ~/gnu/exiv2/buildserver ; /usr/local/bin/svn update . ; contrib/buildserver/cmake_daily.sh' + ## + # test the delivery + date=$(date '+%Y-%m-%d+%H-%M-%S') + svn=$(/usr/local/bin/svn info . | grep ^Revision | cut -d: -f 2 | tr -d ' ') + ( + ssh rmills@rmillsmm 'PLATFORM=macosx ~/gnu/exiv2/buildserver/contrib/buildserver/test_daily.sh' + ssh rmills@rmillsmm-kubuntu 'PLATFORM=linux ~/gnu/exiv2/buildserver/contrib/buildserver/test_daily.sh' + ssh rmills@rmillsmm-w7 'PLATFORM=cygwin ~/gnu/exiv2/buildserver/contrib/buildserver/test_daily.sh' + ssh rmills@rmillsmm-w7 'PLATFORM=msvc ~/gnu/exiv2/buildserver/contrib/buildserver/test_daily.sh' + ) | tee "/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 /mmHD/Users/Shared/Jenkins/Home/userContent/builds' + fi + +Theme.css +--------- + +body { + margin-top : 0px; /* the height of your site banner */ + background : lightskyblue; + color : black; +} + + +#header::after { + content : ""; + background : url("Exiv2Logo50Background.png");; + opacity : 0.05; + top : 0; + left : 0; + bottom : 0; + right : 0; + position : absolute; + z-index : -1; +} -test-cmake-daily: -Runs: 5am every day -ssh rmills@rmillsmm 'PLATFORM=macosx ~/gnu/exiv2/buildserver/contrib/buildserver/test_daily.sh' -ssh rmills@rmillsmm-kubuntu 'PLATFORM=linux ~/gnu/exiv2/buildserver/contrib/buildserver/test_daily.sh' -ssh rmills@rmillsmm-w7 'PLATFORM=cygwin ~/gnu/exiv2/buildserver/contrib/buildserver/test_daily.sh' -ssh rmills@rmillsmm-w7 'PLATFORM=msvc ~/gnu/exiv2/buildserver/contrib/buildserver/test_daily.sh' Robin Mills robin@clanmills.com -2015-12-16 +2015-12-17 diff --git a/contrib/buildserver/spread b/contrib/buildserver/categorize similarity index 82% rename from contrib/buildserver/spread rename to contrib/buildserver/categorize index 06c2bb9f..c543e385 100755 --- a/contrib/buildserver/spread +++ b/contrib/buildserver/categorize @@ -68,6 +68,7 @@ for platform in ${platforms[*]}; do done echo ---------- SVN ----------- +latest=0 for svn in ${svns[*]}; do dir="$C/SVN/$svn" mkdir -p "$dir" @@ -81,8 +82,25 @@ for svn in ${svns[*]}; do fi fi done + if [ $svn -gt $latest ]; then latest="$svn"; fi done +echo ---------- Latest ----------- +if [ "$latest" != "0" ]; then + dir="$C/Latest" + mkdir -p "$dir" + for file in ${files[*]}; do + file=$(basename $file) + SVN=$(echo $file | cut -d- -f 3) + if [ "$latest" == "$SVN" ]; then + if [ -e Daily/$file ]; then ln -s $PWD/Daily/$file $dir/$file + elif [ -e Weekly/$file ]; then ln -s $PWD/Weekly/$file $dir/$file + elif [ -e Monthly/$file ]; then ln -s $PWD/Monthly/$file $dir/$file + fi + fi + done +fi + echo ---------- Date ----------- for date in ${dates[*]}; do dir="$C/Date/$date" @@ -99,5 +117,6 @@ for date in ${dates[*]}; do done done + # That's all Folks! ##