From 0fe21bdc2dac9a430acc1982eceffd5d6881718a Mon Sep 17 00:00:00 2001 From: Elliot Saba Date: Tue, 27 Sep 2022 17:22:31 -0700 Subject: [PATCH] Use `dirname` instead of trimming on `/` When running on Windows, buildkite can provide backslash-separated paths for the script name, causing the variable substitution here to fail to trim off the basename of the invoked hook file. This changes the hooks to instead use `dirname`, which on these windows systems works with both forward and backward slash separated names. --- hooks/environment | 2 +- hooks/post-artifact | 2 +- hooks/post-checkout | 2 +- hooks/post-command | 2 +- hooks/pre-artifact | 2 +- hooks/pre-checkout | 2 +- hooks/pre-command | 2 +- hooks/pre-exit | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/hooks/environment b/hooks/environment index 8542e59..11bf89a 100644 --- a/hooks/environment +++ b/hooks/environment @@ -12,4 +12,4 @@ if grep -E 'BUILDKITE_PLUGIN_METAHOOK_.+(\.BAT|\.CMD)=' "${BUILDKITE_METAHOOK_HO exit 1 fi -"${BASH_SOURCE%/*}/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" +"$(dirname "${BASH_SOURCE[0]}")/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" diff --git a/hooks/post-artifact b/hooks/post-artifact index 699c30f..edda26f 100755 --- a/hooks/post-artifact +++ b/hooks/post-artifact @@ -1,3 +1,3 @@ #!/usr/bin/env bash set -euo pipefail -"${BASH_SOURCE%/*}/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" +"$(dirname "${BASH_SOURCE}")/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" diff --git a/hooks/post-checkout b/hooks/post-checkout index 699c30f..edda26f 100755 --- a/hooks/post-checkout +++ b/hooks/post-checkout @@ -1,3 +1,3 @@ #!/usr/bin/env bash set -euo pipefail -"${BASH_SOURCE%/*}/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" +"$(dirname "${BASH_SOURCE}")/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" diff --git a/hooks/post-command b/hooks/post-command index 699c30f..edda26f 100755 --- a/hooks/post-command +++ b/hooks/post-command @@ -1,3 +1,3 @@ #!/usr/bin/env bash set -euo pipefail -"${BASH_SOURCE%/*}/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" +"$(dirname "${BASH_SOURCE}")/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" diff --git a/hooks/pre-artifact b/hooks/pre-artifact index 699c30f..edda26f 100755 --- a/hooks/pre-artifact +++ b/hooks/pre-artifact @@ -1,3 +1,3 @@ #!/usr/bin/env bash set -euo pipefail -"${BASH_SOURCE%/*}/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" +"$(dirname "${BASH_SOURCE}")/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" diff --git a/hooks/pre-checkout b/hooks/pre-checkout index 699c30f..edda26f 100755 --- a/hooks/pre-checkout +++ b/hooks/pre-checkout @@ -1,3 +1,3 @@ #!/usr/bin/env bash set -euo pipefail -"${BASH_SOURCE%/*}/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" +"$(dirname "${BASH_SOURCE}")/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" diff --git a/hooks/pre-command b/hooks/pre-command index 699c30f..edda26f 100755 --- a/hooks/pre-command +++ b/hooks/pre-command @@ -1,3 +1,3 @@ #!/usr/bin/env bash set -euo pipefail -"${BASH_SOURCE%/*}/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" +"$(dirname "${BASH_SOURCE}")/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" diff --git a/hooks/pre-exit b/hooks/pre-exit index 43d28cf..20f744a 100755 --- a/hooks/pre-exit +++ b/hooks/pre-exit @@ -6,4 +6,4 @@ cleanup() { } trap cleanup EXIT -"${BASH_SOURCE%/*}/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")" +"$(dirname "${BASH_SOURCE}")/run-hook.sh" "$(basename "${BASH_SOURCE[0]}")"