Merge pull request #120279 from BenTheElder/gotoolchain
handle GOTOOLCHAIN in kube::golang::verify_go_version
This commit is contained in:
		| @@ -466,13 +466,23 @@ kube::golang::create_gopath_tree() { | ||||
| kube::golang::verify_go_version() { | ||||
|   # default GO_VERSION to content of .go-version | ||||
|   GO_VERSION="${GO_VERSION:-"$(cat "${KUBE_ROOT}/.go-version")"}" | ||||
|   # only setup go if we haven't set FORCE_HOST_GO, or `go version` doesn't match GO_VERSION | ||||
|   if ! ([ -n "${FORCE_HOST_GO:-}" ] || \ | ||||
|       (command -v go >/dev/null && [ "$(go version | cut -d' ' -f3)" = "go${GO_VERSION}" ])); then | ||||
|   if [ "${GOTOOLCHAIN:-auto}" != 'auto' ]; then | ||||
|     # no-op, just respect GOTOOLCHAIN | ||||
|     : | ||||
|   elif [ -n "${FORCE_HOST_GO:-}" ]; then | ||||
|     # ensure existing host version is used, like before GOTOOLCHAIN existed | ||||
|     export GOTOOLCHAIN='local' | ||||
|   else | ||||
|     # otherwise, we want to ensure the go version matches GO_VERSION | ||||
|     GOTOOLCHAIN="go${GO_VERSION}" | ||||
|     export GOTOOLCHAIN | ||||
|     # if go is either not installed or too old to respect GOTOOLCHAIN then use gimme | ||||
|     if ! (command -v go >/dev/null && [ "$(go version | cut -d' ' -f3)" = "${GOTOOLCHAIN}" ]); then | ||||
|       export GIMME_ENV_PREFIX=${GIMME_ENV_PREFIX:-"${KUBE_OUTPUT}/.gimme/envs"} | ||||
|       export GIMME_VERSION_PREFIX=${GIMME_VERSION_PREFIX:-"${KUBE_OUTPUT}/.gimme/versions"} | ||||
|       # eval because the output of this is shell to set PATH etc. | ||||
|       eval "$("${KUBE_ROOT}/third_party/gimme/gimme" "${GO_VERSION}")" | ||||
|     fi | ||||
|   fi | ||||
|  | ||||
|   if [[ -z "$(command -v go)" ]]; then | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Kubernetes Prow Robot
					Kubernetes Prow Robot