فهرست منبع

Added cron jobs

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7666 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 سال پیش
والد
کامیت
1ec8e03463

+ 18 - 0
tools/builds/cron.hourly/build-compiler

@@ -0,0 +1,18 @@
+#!/bin/sh
+
+dir="/var/tmp/a2/"
+update () { svn checkout --non-interactive --quiet --username eth.a2guest --password a2guest https://svn.inf.ethz.ch/svn/lecturers/a2/trunk/tools/builds/a2 "$dir" && make --directory "$dir" --quiet dependencies && version=$(svnversion "$dir/source"); }
+check () { make --question --directory "$dir" --quiet compiler; }
+build () { timeout 1h make --directory "$dir" --quiet compiler; }
+notify () { sendbuild "A2" "Compiler" "$version" "$1"; }
+
+update || exit 1
+check && exit 0
+status="Building"; output=""
+notify "$status" < /dev/null
+cleanup () { echo "$output" | notify $status; }
+trap cleanup exit
+trap "status=Aborted" int term kill
+status="Failed"; output=$(build 2>&1)
+test $? -eq 0 && status="Succeeded" && output=""
+exit 0

+ 18 - 0
tools/builds/cron.hourly/build-linux32g

@@ -0,0 +1,18 @@
+#!/bin/sh
+
+dir="/var/tmp/a2/"
+update () { svn checkout --non-interactive --quiet --username eth.a2guest --password a2guest https://svn.inf.ethz.ch/svn/lecturers/a2/trunk/tools/builds/a2 "$dir" && make --directory "$dir" --quiet dependencies && version=$(svnversion "$dir/source"); }
+check () { make --question --directory "$dir" --quiet release platform=Linux32G; }
+build () { timeout 1h make --directory "$dir" --quiet release platform=Linux32G; }
+notify () { sendbuild "A2" "Release (Linux32G)" "$version" "$1"; }
+
+update || exit 1
+check && exit 0
+status="Building"; output=""
+notify "$status" < /dev/null
+cleanup () { echo "$output" | notify $status; }
+trap cleanup exit
+trap "status=Aborted" int term kill
+status="Failed"; output=$(build 2>&1)
+test $? -eq 0 && status="Succeeded" && output=""
+exit 0

+ 18 - 0
tools/builds/cron.hourly/build-win32g

@@ -0,0 +1,18 @@
+#!/bin/sh
+
+dir="/var/tmp/a2/"
+update () { svn checkout --non-interactive --quiet --username eth.a2guest --password a2guest https://svn.inf.ethz.ch/svn/lecturers/a2/trunk/tools/builds/a2 "$dir" && make --directory "$dir" --quiet dependencies && version=$(svnversion "$dir/source"); }
+check () { make --question --directory "$dir" --quiet release platform=Win32G; }
+build () { timeout 1h make --directory "$dir" --quiet release platform=Win32G; }
+notify () { sendbuild "A2" "Release (Win32G)" "$version" "$1"; }
+
+update || exit 1
+check && exit 0
+status="Building"; output=""
+notify "$status" < /dev/null
+cleanup () { echo "$output" | notify $status; }
+trap cleanup exit
+trap "status=Aborted" int term kill
+status="Failed"; output=$(build 2>&1)
+test $? -eq 0 && status="Succeeded" && output=""
+exit 0

+ 18 - 0
tools/builds/cron.hourly/test-compilation

@@ -0,0 +1,18 @@
+#!/bin/sh
+
+dir="/var/tmp/a2/"
+update () { svn checkout --non-interactive --quiet --username eth.a2guest --password a2guest https://svn.inf.ethz.ch/svn/lecturers/a2/trunk/tools/builds/a2 "$dir" && make --directory "$dir" --quiet dependencies && version=$(svnversion "$dir/source"); }
+check () { make --question --directory "$dir" --quiet compilation; }
+build () { timeout 1h make --directory "$dir" --quiet compilation; }
+notify () { sendbuild "A2" "Compilation Tests" "$version" "$1"; }
+
+update || exit 1
+check && exit 0
+status="Building"; output=""
+notify "$status" < /dev/null
+cleanup () { echo "$output" | notify $status; }
+trap cleanup exit
+trap "status=Aborted" int term kill
+status="Failed"; output=$(build 2>&1)
+test $? -eq 0 && status="Succeeded" && output=""
+exit 0

+ 18 - 0
tools/builds/cron.hourly/test-execution

@@ -0,0 +1,18 @@
+#!/bin/sh
+
+dir="/var/tmp/a2/"
+update () { svn checkout --non-interactive --quiet --username eth.a2guest --password a2guest https://svn.inf.ethz.ch/svn/lecturers/a2/trunk/tools/builds/a2 "$dir" && make --directory "$dir" --quiet dependencies && version=$(svnversion "$dir/source"); }
+check () { make --question --directory "$dir" --quiet execution; }
+build () { timeout 1h make --directory "$dir" --quiet execution; }
+notify () { sendbuild "A2" "Execution Tests" "$version" "$1"; }
+
+update || exit 1
+check && exit 0
+status="Building"; output=""
+notify "$status" < /dev/null
+cleanup () { echo "$output" | notify $status; }
+trap cleanup exit
+trap "status=Aborted" int term kill
+status="Failed"; output=$(build 2>&1)
+test $? -eq 0 && status="Succeeded" && output=""
+exit 0