From 5c214478cc2d9e78ba78f3911f9fede2029c829f Mon Sep 17 00:00:00 2001
From: Ben Sima <ben@bsima.me>
Date: Mon, 14 Aug 2023 20:50:20 -0400
Subject: Turn pre-push into a record-keeping ci

This is necessary because otherwise I have no record of when I had a
successful build.
---
 Biz/Ide/hooks/pre-push | 35 ++++++++++++++++++++++++++++++++++-
 1 file changed, 34 insertions(+), 1 deletion(-)

(limited to 'Biz/Ide')

diff --git a/Biz/Ide/hooks/pre-push b/Biz/Ide/hooks/pre-push
index c27046d..a1dccc3 100755
--- a/Biz/Ide/hooks/pre-push
+++ b/Biz/Ide/hooks/pre-push
@@ -1,2 +1,35 @@
 #!/usr/bin/env bash
-lint "${BIZ_ROOT:?}"/**/* && bild --test "${BIZ_ROOT:?}"/**/*
+#
+# a simple ci that saves its results in a git note, formatted according to
+# RFC-2822, more or less.
+#
+##
+  set -euo pipefail
+  [[ -n $(git status -s) ]] && { echo fail: dirty worktree; exit 1; }
+##
+  at=$(date -R)
+  user=$(git config --get user.name)
+  mail=$(git config --get user.email)
+##
+  if lint "${BIZ_ROOT:?}"/**/*
+  then
+    lint_result="good"
+  else
+    lint_result="fail"
+  fi
+##
+  git notes --ref=ci append -m "Lint-is: $lint_result"
+  git notes --ref=ci append -m "Lint-by: $user <$mail>"
+  git notes --ref=ci append -m "Lint-at: $at"
+##
+  if bild --test "${BIZ_ROOT:?}"/**/*
+  then
+    test_result="good"
+  else
+    test_result="fail"
+  fi
+##
+  git notes --ref=ci append -m "Test-is: $test_result"
+  git notes --ref=ci append -m "Test-by: $user <$mail>"
+  git notes --ref=ci append -m "Test-at: $at"
+##
-- 
cgit v1.2.3