123456789101112131415161718 |
- #!/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
|