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 <lizhijian@cn.fujitsu.com>
This commit is contained in:
Li Zhijian
2021-02-10 14:06:00 +08:00
parent c764bc1618
commit 054f18701a
3 changed files with 16 additions and 8 deletions

View File

@@ -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/"'

View File

@@ -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}."

View File

@@ -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