summaryrefslogtreecommitdiff
path: root/Biz
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2024-04-04 06:30:29 -0400
committerBen Sima <ben@bsima.me>2024-04-10 09:48:58 -0400
commit051973aba8953ebde51eb1436fb3994e7ae699dc (patch)
treecabdc3ce664ea71e30ee0d564d52bb6541a064f2 /Biz
parent383b375a13ffdfd42547747b4e1a5fd165c28f48 (diff)
Push ci notes automatically
I always want to push notes on a successful code push, so using the pre-push hook to do so is perfect. This also expands the pre-push hook to handle new/deleted branches, configures notes automatically, and finally checks that commit messages are decent with gitlint, since `git amend` can bypass the git commit-msg hook.
Diffstat (limited to 'Biz')
-rwxr-xr-xBiz/Ide/hooks/pre-push20
1 files changed, 19 insertions, 1 deletions
diff --git a/Biz/Ide/hooks/pre-push b/Biz/Ide/hooks/pre-push
index 1a47699..30b4e3a 100755
--- a/Biz/Ide/hooks/pre-push
+++ b/Biz/Ide/hooks/pre-push
@@ -1,2 +1,20 @@
#!/usr/bin/env bash
-git test run --command ci origin/live..HEAD --no-cache --jobs 5
+remote="$1"
+z40=0000000000000000000000000000000000000000
+IFS=" "
+while read local_ref local_sha remote_ref remote_sha
+do
+ if [ "$local_sha" = $z40 ]
+ then
+ # delete, do nothing
+ elif [ "$remote_sha" = $z40 ]
+ then
+ # new branch, test all commits since ci was implemented
+ range="11d95581fb178a5d21e88dfd8030a61886cc2519..$local_sha"
+ else
+ range="$remote_sha..$local_sha"
+ fi
+done
+gitlint --commits "$range" lint
+git test run --command ci "$range"
+git push "$remote" refs/notes/ci