diff options
-rw-r--r-- | .envrc | 2 | ||||
-rwxr-xr-x | Biz/Ide/hooks/pre-push | 20 |
2 files changed, 21 insertions, 1 deletions
@@ -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 |