diff options
author | Ben Sima <ben@bsima.me> | 2024-04-04 06:30:29 -0400 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2024-04-10 09:48:58 -0400 |
commit | 051973aba8953ebde51eb1436fb3994e7ae699dc (patch) | |
tree | cabdc3ce664ea71e30ee0d564d52bb6541a064f2 /Biz/Ide/hooks/pre-push | |
parent | 383b375a13ffdfd42547747b4e1a5fd165c28f48 (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/Ide/hooks/pre-push')
-rwxr-xr-x | Biz/Ide/hooks/pre-push | 20 |
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 |