From 74f4381cb33c3bad754f4ea1a6f8d69dbe4572e1 Mon Sep 17 00:00:00 2001 From: Charlie Voiselle <464492+angrycub@users.noreply.github.com> Date: Wed, 9 Aug 2023 14:09:39 -0400 Subject: [PATCH] [chore] Update pre-push hook to handle more remote URL shapes (#17560) * handle remotes without .git in their path * Update check to use grep --- dev/hooks/pre-push | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/dev/hooks/pre-push b/dev/hooks/pre-push index 83168fdeb..a21600362 100755 --- a/dev/hooks/pre-push +++ b/dev/hooks/pre-push @@ -11,9 +11,20 @@ fail () { # only push to oss when the enterprise version is absent # ==================== oss="git@github.com:hashicorp/nomad.git" -ent="git@github.com:hashicorp/nomad-enterprise.git" -if [ "$2" != "$ent" -a -f version/version_ent.go ]; then - fail "found enterprise version file version/version_ent.go while pushing to oss remote" +ent="hashicorp/nomad-enterprise" + +# isEnterprise exits with a 0 when the first parameter matches the +# nomad-enterprise repo, regardless of additional optional and variable +# components of the remote URL, like the terminal ".git" extension +isEnterprise () { + local arg="${1}" + return (echo "${arg}" | grep -q -E "^(https://github.com/|git@github.com:)?${ent}(.git)?$") +} + +isEnterprise "${2}" + +if [ $? -ne 0 -a -f version/version_ent.go ]; then + fail "found enterprise version file version/version_ent.go pushing to non-enterprise remote \"${2}\"" fi # do not push directly to main, stable-*, release/*