build-compiler 760 B

123456789101112131415161718
  1. #!/bin/sh
  2. dir="/var/tmp/a2/"
  3. 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"); }
  4. check () { make --question --directory "$dir" --quiet compiler; }
  5. build () { timeout 1h make --directory "$dir" --quiet compiler; }
  6. notify () { sendbuild "A2" "Compiler" "$version" "$1"; }
  7. update || exit 1
  8. check && exit 0
  9. status="Building"; output=""
  10. notify "$status" < /dev/null
  11. cleanup () { echo "$output" | notify $status; }
  12. trap cleanup exit
  13. trap "status=Aborted" int term kill
  14. status="Failed"; output=$(build 2>&1)
  15. test $? -eq 0 && status="Succeeded" && output=""
  16. exit 0