From 054f18701ad57b53c0cb45dbd8aa9483de72f3f8 Mon Sep 17 00:00:00 2001 From: Li Zhijian Date: Wed, 10 Feb 2021 14:06:00 +0800 Subject: [PATCH] Makefile/scripts: check and use GOBIN environment variable first 'go get/install' will install binaries into GOBIN when it's set which is not always same with GOPATH/bin Fix below error: $ hack/testExamplesAgainstKustomize.sh HEAD Installing kustomize HEAD On linux, and not on remote CI. Running expensive tests. make: Nothing to be done for '/home/lizj/gosrc/bin/helm'. Removing kustomize HEAD rm: cannot remove '/home/lizj/gosrc/bin/kustomize': No such file or directory Signed-off-by: Li Zhijian --- Makefile | 5 ++++- hack/testExamplesAgainstKustomize.sh | 8 +++++--- hack/testUnitKustomizePlugins.sh | 11 +++++++---- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 5ba6f1f29..aea32d956 100644 --- a/Makefile +++ b/Makefile @@ -3,8 +3,11 @@ # # Makefile for kustomize CLI and API. -MYGOBIN := $(shell go env GOPATH)/bin SHELL := /usr/bin/env bash +MYGOBIN = $(shell go env GOBIN) +ifeq ($(MYGOBIN),) +MYGOBIN = $(shell go env GOPATH)/bin +endif export PATH := $(MYGOBIN):$(PATH) MODULES := '"cmd/config" "api/" "kustomize/" "kyaml/"' diff --git a/hack/testExamplesAgainstKustomize.sh b/hack/testExamplesAgainstKustomize.sh index f94466995..b211612ac 100755 --- a/hack/testExamplesAgainstKustomize.sh +++ b/hack/testExamplesAgainstKustomize.sh @@ -14,9 +14,11 @@ version=$1 echo "Installing kustomize ${version}" +MYGOBIN=$(go env GOBIN) +MYGOBIN="${MYGOBIN:-$(go env GOPATH)/bin}" # Always rebuild, never assume the installed verion is # the right one to test. -rm -f $(go env GOPATH)/bin/kustomize +rm -f $MYGOBIN/kustomize if [ "$version" == "HEAD" ]; then (cd kustomize; go install .) else @@ -35,7 +37,7 @@ if onLinuxAndNotOnRemoteCI; then echo "On linux, and not on remote CI. Running expensive tests." # Requires helm. - make $(go env GOPATH)/bin/helm + make $MYGOBIN/helm mdrip --mode test --label helmtest examples/chart.md fi @@ -43,6 +45,6 @@ fi # rely on whatever this script just did. Tests should # be order independent. echo "Removing kustomize ${version}" -rm $(go env GOPATH)/bin/kustomize +rm $MYGOBIN/kustomize echo "Example tests passed against ${version}." diff --git a/hack/testUnitKustomizePlugins.sh b/hack/testUnitKustomizePlugins.sh index bd1d67e85..527264060 100755 --- a/hack/testUnitKustomizePlugins.sh +++ b/hack/testUnitKustomizePlugins.sh @@ -14,6 +14,9 @@ set -o pipefail rcAccumulator=0 +MYGOBIN=$(go env GOBIN) +MYGOBIN="${MYGOBIN:-$(go env GOPATH)/bin}" + # All hack scripts should run from top level. . hack/shellHelpers.sh @@ -49,10 +52,10 @@ function scanDir { if onLinuxAndNotOnRemoteCI; then # Some of these tests have special deps. - make $(go env GOPATH)/bin/helmV2 - make $(go env GOPATH)/bin/helmV3 - make $(go env GOPATH)/bin/helm - make $(go env GOPATH)/bin/kubeval + make $MYGOBIN/helmV2 + make $MYGOBIN/helmV3 + make $MYGOBIN/helm + make $MYGOBIN/kubeval fi for goMod in $(find ./plugin -name 'go.mod' -not -path "./plugin/untested/*"); do