File tree Expand file tree Collapse file tree 3 files changed +14
-3
lines changed
Expand file tree Collapse file tree 3 files changed +14
-3
lines changed Original file line number Diff line number Diff line change 22set -euo pipefail
33
44# If users add multiple `metahook` instances, we'll just store our `vars` in the same directory.
5+ # We store the `vars` in a file that is namespaced by a hash of the plugin configuration, which
6+ # allows us to avoid having multiple metahook instances clobber eachother.
57if [[ ! -v " BUILDKITE_METAHOOK_HOOKS_PATH" ]]; then
68 export BUILDKITE_METAHOOK_HOOKS_PATH=" $( mktemp -d) "
7- env | sort | grep " BUILDKITE_PLUGIN_METAHOOK" | uniq > " ${BUILDKITE_METAHOOK_HOOKS_PATH} /vars"
89fi
910
10- if grep -E ' BUILDKITE_PLUGIN_METAHOOK_.+(\.BAT|\.CMD)=' " ${BUILDKITE_METAHOOK_HOOKS_PATH} /vars" ; then
11+ PLUGIN_CONFIG_HASH=$( cksum <<< " ${BUILDKITE_PLUGIN_CONFIGURATION}" | awk ' { print $1 }' )
12+ VARS_FILENAME=" vars-${PLUGIN_CONFIG_HASH} "
13+ env | sort | grep " BUILDKITE_PLUGIN_METAHOOK" | uniq > " ${BUILDKITE_METAHOOK_HOOKS_PATH} /${VARS_FILENAME} "
14+
15+ if grep -E ' BUILDKITE_PLUGIN_METAHOOK_.+(\.BAT|\.CMD)=' " ${BUILDKITE_METAHOOK_HOOKS_PATH} /${VARS_FILENAME} " ; then
1116 echo " Sorry, we had to remove Windows Batch file support in 0.4.0."
1217 echo " Please refer to https://github.com/improbable-eng/metahook-buildkite-plugin/tree/master/changelog.md#0.4.0"
1318 echo " "
Original file line number Diff line number Diff line change 11#! /usr/bin/env bash
22set -euo pipefail
33
4+ PLUGIN_CONFIG_HASH=$( cksum <<< " ${BUILDKITE_PLUGIN_CONFIGURATION}" | awk ' { print $1 }' )
5+ VARS_FILENAME=" vars-${PLUGIN_CONFIG_HASH} "
46cleanup () {
5- rm -rf " ${BUILDKITE_METAHOOK_HOOKS_PATH} "
7+ # Delete our `vars` directory, then if the directory itself is empty, delete that too
8+ rm -rf " ${BUILDKITE_METAHOOK_HOOKS_PATH} /${VARS_FILENAME} "
9+ rmdir " ${BUILDKITE_METAHOOK_HOOKS_PATH} " 2> /dev/null || true
610}
711trap cleanup EXIT
812
Original file line number Diff line number Diff line change @@ -5,6 +5,8 @@ hook_name="${1:?1st arg needs to be hook name}"
55upperd=" $( echo " ${hook_name} " | tr " [:lower:]" " [:upper:]" | sed " s:-:_:" ) "
66var_name=" BUILDKITE_PLUGIN_METAHOOK_${upperd} "
77
8+ PLUGIN_CONFIG_HASH=$( cksum <<< " ${BUILDKITE_PLUGIN_CONFIGURATION}" | awk ' { print $1 }' )
9+ VARS_FILENAME=" vars-${PLUGIN_CONFIG_HASH} "
810if grep -q " ${var_name} " < " ${BUILDKITE_METAHOOK_HOOKS_PATH} /vars" ; then
911 hook_file=" ${BUILDKITE_METAHOOK_HOOKS_PATH} /${hook_name} "
1012
You can’t perform that action at this time.
0 commit comments