浏览代码

Added Linux64 cooperative build

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8224 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 年之前
父节点
当前提交
0ecf3522b6
共有 2 个文件被更改,包括 27 次插入1 次删除
  1. 2 1
      tools/builds/a2/makefile
  2. 25 0
      tools/builds/cron.hourly/a2-cooperative

+ 2 - 1
tools/builds/a2/makefile

@@ -6,7 +6,8 @@ MAKEFLAGS += --no-builtin-rules --no-builtin-variables
 .SUFFIXES: # delete the default suffixes
 
 tool := $(if $(wildcard oberon), ./oberon, ./original)
-platforms := Bios32 Bios64 Win32 Win64 Linux32 Linux64 Darwin32 Darwin64 Solaris32 Solaris64
+platforms := Bios32 Bios64 Win32 Win64 Linux32 Linux64 Darwin32 Darwin64 Solaris32 Solaris64 \
+	Linux64C
 
 target := Linux64
 object := .GofUu

+ 25 - 0
tools/builds/cron.hourly/a2-cooperative

@@ -0,0 +1,25 @@
+#!/bin/sh
+
+directory="/var/tmp/a2-cooperative/"
+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"); }
+check () { make --question --directory "$directory" --quiet build platform="$target"; }
+build () { timeout 1h make --directory "$directory" --quiet build platform="$target"; }
+notify () { echo "$output" | sendbuild "A2 Cooperative Builds" "$target" "$version" "$status"; }
+
+update || exit 1
+
+process ()
+{
+	local target="$1"
+	check && exit 0
+	local status="Building" output=""
+	notify
+	trap notify exit
+	trap "status=Aborted" int term kill
+	status="Failed" output=$(build 2>&1)
+	test $? -eq 0 && status="Succeeded" output=""
+	trap exit
+	notify
+}
+
+process Linux64C &