Added reporting
[invirt/packages/invirt-dev.git] / build-hooks / failed-submit
diff --git a/build-hooks/failed-submit b/build-hooks/failed-submit
new file mode 100755 (executable)
index 0000000..6e288c8
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+set -e
+set -u
+
+escape() {
+    echo "$1" | sed -e 's/@/@@/g'
+}
+
+pocket=$(escape "$1")
+package=$(escape "$2")
+commit=$(escape "$3")
+principal=$(escape "$4")
+
+base=build.hooks.failed_submit.zephyr
+class=$(invirt-getconf "$base.class" 2>/dev/null || :)
+instance=$(invirt-getconf "$base.instance" 2>/dev/null || :)
+zsig=$(invirt-getconf "$base.zsig" 2>/dev/null || :)
+
+if [ -z "$class" ]; then
+  echo "I don't know where to send a commit zephyr!" >&2
+  echo "Please provide a value for $base.class in" >&2
+  echo "your invirt config file." >&2
+  exit 1
+fi
+
+(echo "A new job has @{@color(red)failed} to be submitted to the Invirtibuilder:"
+ echo
+ echo "pocket: $pocket"
+ echo "package: $package"
+ echo "commit: $commit"k
+ echo "principal: $principal"
+ echo
+ echo -n "Failure: ";
+ ( cat | sed -e 's/@/@@/g' ) ) | zwrite -c "$class" -i "${instance:-$commit}" -s "${zsig:-failed-submit}: $pocket" -d