summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2003-12-02 14:07:20 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2003-12-02 14:07:20 +0000
commit1fde9ff92d04b0d71ddf102473efe3515a6465dd (patch)
treedf5ebc181370ba9c967f5bb393282b81e30854c5
parentbe3479234b049911e3dc76ba51695857e0e40c86 (diff)
downloadnixpkgs-1fde9ff92d04b0d71ddf102473efe3515a6465dd.tar
nixpkgs-1fde9ff92d04b0d71ddf102473efe3515a6465dd.tar.gz
nixpkgs-1fde9ff92d04b0d71ddf102473efe3515a6465dd.tar.bz2
nixpkgs-1fde9ff92d04b0d71ddf102473efe3515a6465dd.tar.lz
nixpkgs-1fde9ff92d04b0d71ddf102473efe3515a6465dd.tar.xz
nixpkgs-1fde9ff92d04b0d71ddf102473efe3515a6465dd.tar.zst
nixpkgs-1fde9ff92d04b0d71ddf102473efe3515a6465dd.zip
* Mail notification of build failures.
svn path=/nixpkgs/trunk/; revision=570
-rwxr-xr-xnix-dist/build+upload.sh2
-rwxr-xr-xnix-dist/mail-result.sh33
2 files changed, 35 insertions, 0 deletions
diff --git a/nix-dist/build+upload.sh b/nix-dist/build+upload.sh
index 142cdca4840..e4beee1add6 100755
--- a/nix-dist/build+upload.sh
+++ b/nix-dist/build+upload.sh
@@ -7,6 +7,8 @@ if ! rev=$(curl --silent -k https://svn.cs.uu.nl:12443/repos/trace/nix/trunk/ \
  | sed 's/.*Revision \(.*\):.*/\1/'); \
  then exit 1; fi
 
+echo "building revision $rev of $url"
+
 echo $rev > head-revision.nix
 
 if ! storeexprs=($(nix-instantiate -vvv do-it.nix)); then exit 1; fi
diff --git a/nix-dist/mail-result.sh b/nix-dist/mail-result.sh
new file mode 100755
index 00000000000..f5e94d18bba
--- /dev/null
+++ b/nix-dist/mail-result.sh
@@ -0,0 +1,33 @@
+#! /bin/sh
+
+email=$1
+shift
+
+logfile=/tmp/logfile-$$ # !!! security
+trap "rm $logfile" EXIT
+
+echo $logfile
+
+if ! "$@" > $logfile 2>&1; then
+    BLOCKER=/tmp/inhibit-notify
+    if ! test -f $BLOCKER; then
+        HEAD=`head $logfile`
+        TAIL=`tail $logfile`
+        bzip2 < $logfile > $logfile.bz2
+        mail -s "Nix build failed" -a $logfile.bz2 $email <<EOF
+A Nix build failed.  See the attached log file for details.
+
+No further messages will be sent until the file $BLOCKER is removed.
+
+The first few lines of the log are:
+
+$HEAD
+
+The last few lines are:
+
+$TAIL
+EOF
+        rm $logfile.bz2
+        touch $BLOCKER
+    fi
+fi