From 051973aba8953ebde51eb1436fb3994e7ae699dc Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Thu, 4 Apr 2024 06:30:29 -0400 Subject: 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. --- Biz/Ide/hooks/pre-push | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'Biz/Ide/hooks') 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 -- cgit v1.2.3