summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.envrc2
-rwxr-xr-xBiz/Ide/hooks/pre-push20
2 files changed, 21 insertions, 1 deletions
diff --git a/.envrc b/.envrc
index 4fcbff9..717b333 100644
--- a/.envrc
+++ b/.envrc
@@ -37,6 +37,8 @@
#
# configure git
git config --local core.hooksPath "$CODEROOT/Biz/Ide/hooks"
+ git config --local notes.displayRef refs/notes/ci
+ git config --local remotes.origin.fetch +refs/notes/*:refs/notes/* notes
git config --local branchless.test.strategy worktree
git config --local branchless.test.alias.default 'git clean -ffdx; eval $(direnv export bash); bild --test **/*'
git config --local branchless.test.alias.bild 'git clean -ffdx; eval $(direnv export bash); bild **/*'
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