summaryrefslogtreecommitdiff
path: root/Omni/Ide/hooks/pre-push
diff options
context:
space:
mode:
Diffstat (limited to 'Omni/Ide/hooks/pre-push')
-rwxr-xr-xOmni/Ide/hooks/pre-push22
1 files changed, 22 insertions, 0 deletions
diff --git a/Omni/Ide/hooks/pre-push b/Omni/Ide/hooks/pre-push
new file mode 100755
index 0000000..00110bd
--- /dev/null
+++ b/Omni/Ide/hooks/pre-push
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash
+set -euo pipefail
+remote="$1"
+z40=0000000000000000000000000000000000000000
+IFS=" "
+while read local_ref local_sha remote_ref remote_sha
+do
+ if [ "$local_sha" = $z40 ]
+ then
+ # delete, do nothing
+ continue
+ 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 --no-verify