2
0

a2-builds 1022 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/sh
  2. directory="/var/tmp/a2-builds/"
  3. update () { svn checkout --non-interactive --quiet --username eth.a2guest --password a2guest https://svn.inf.ethz.ch/svn/lecturers/a2/trunk/tools/builds/a2 "$directory" && make --directory "$directory" --quiet oberon && version=$(svnversion "$directory/source"); }
  4. check () { make --question --directory "$directory" --quiet build platform="$target"; }
  5. build () { timeout 1h make --directory "$directory" --quiet build platform="$target"; }
  6. notify () { echo "$output" | sendbuild "A2 Builds" "$target" "$version" "$status"; }
  7. update || exit 1
  8. process ()
  9. {
  10. local target="$1"
  11. check && exit 0
  12. local status="Building" output=""
  13. notify
  14. trap notify exit
  15. trap "status=Aborted" int term kill
  16. status="Failed" output=$(build 2>&1)
  17. test $? -eq 0 && status="Succeeded" output=""
  18. trap exit
  19. notify
  20. }
  21. process Bios32 &
  22. process Bios64 &
  23. process Darwin32 &
  24. process Darwin64 &
  25. process Linux32 &
  26. process Linux64 &
  27. process Solaris32 &
  28. process Solaris64 &
  29. process Win32 &
  30. process Win64 &