Browse Source

Added generic unix builds

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7692 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 years ago
parent
commit
ac65b5b90e

+ 2 - 2
tools/builds/a2/makefile

@@ -43,7 +43,7 @@ Oberon.Execution.Test.Diff: build FoxTest.GofU source/Oberon.Execution.Test
 ifdef platform
 
 .PHONY: release
-release: $(if $(filter Linux32G Win32G Win64G, $(platform)), $(platform), $(error invalid platform))
+release: $(if $(filter Linux32G Darwin32G Solaris32G Win32G Win64G, $(platform)), $(platform), $(error invalid platform))
 
 $(platform): build source/Release.Tool $(addprefix source/, $(shell env AOSPATH=source ./oberon Release.Build --list $(platform) | tr -d '\r' | grep "^[^ ]\+\.Mod\s" | tr -d ' '))
 	@rm -rf $@ && mkdir $@
@@ -58,4 +58,4 @@ oberon: build
 
 clean:
 	@rm -f modules dependencies build *.SymU *.GofU *.Log *.log
-	@rm -rf Linux32G Win32G Win64G
+	@rm -rf Linux32G Darwin32G Solaris32G Win32G Win64G

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

@@ -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=Darwin32G; }
+build () { timeout 1h make --directory "$dir" --quiet release platform=Darwin32G; }
+notify () { sendbuild "A2 Builds" "Darwin32G" "$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-solaris32g

@@ -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=Solaris32G; }
+build () { timeout 1h make --directory "$dir" --quiet release platform=Solaris32G; }
+notify () { sendbuild "A2 Builds" "Solaris32G" "$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