Call verify_go_version at the END of setup_env

Prior to this it would download Go, setup the environment, then (maybe)
download Go again.

I renamed verify_go_version to be internal and fixed all callers.
This commit is contained in:
Tim Hockin 2024-01-06 15:20:11 -08:00
parent e84adf611f
commit d61f299614
No known key found for this signature in database
18 changed files with 8 additions and 20 deletions

View File

@ -504,7 +504,7 @@ kube::golang::set_platform_envs() {
# Inputs: # Inputs:
# env-var GO_VERSION is the desired go version to use, downloading it if needed (defaults to content of .go-version) # env-var GO_VERSION is the desired go version to use, downloading it if needed (defaults to content of .go-version)
# env-var FORCE_HOST_GO set to a non-empty value uses the go version in the $PATH and skips ensuring $GO_VERSION is used # env-var FORCE_HOST_GO set to a non-empty value uses the go version in the $PATH and skips ensuring $GO_VERSION is used
kube::golang::verify_go_version() { kube::golang::internal::verify_go_version() {
# default GO_VERSION to content of .go-version # default GO_VERSION to content of .go-version
GO_VERSION="${GO_VERSION:-"$(cat "${KUBE_ROOT}/.go-version")"}" GO_VERSION="${GO_VERSION:-"$(cat "${KUBE_ROOT}/.go-version")"}"
if [ "${GOTOOLCHAIN:-auto}" != 'auto' ]; then if [ "${GOTOOLCHAIN:-auto}" != 'auto' ]; then
@ -557,8 +557,6 @@ EOF
# env-var GOBIN is unset (we want binaries in a predictable place) # env-var GOBIN is unset (we want binaries in a predictable place)
# env-var PATH includes the local GOPATH # env-var PATH includes the local GOPATH
kube::golang::setup_env() { kube::golang::setup_env() {
kube::golang::verify_go_version
# Even in module mode, we need to set GOPATH for `go build` and `go install` # Even in module mode, we need to set GOPATH for `go build` and `go install`
# to work. We build various tools (usually via `go install`) from a lot of # to work. We build various tools (usually via `go install`) from a lot of
# scripts. # scripts.
@ -588,6 +586,10 @@ kube::golang::setup_env() {
# Explicitly turn on modules. # Explicitly turn on modules.
export GO111MODULE=on export GO111MODULE=on
# This may try to download our specific Go version. Do it last so it uses
# the above-configured environment.
kube::golang::internal::verify_go_version
} }
kube::golang::setup_gomaxprocs() { kube::golang::setup_gomaxprocs() {

View File

@ -84,7 +84,7 @@ function kube::protoc::format() {
cat hack/boilerplate/boilerplate.generatego.txt "${package}/api.pb.go" > tmpfile && mv tmpfile "${package}/api.pb.go" cat hack/boilerplate/boilerplate.generatego.txt "${package}/api.pb.go" > tmpfile && mv tmpfile "${package}/api.pb.go"
# Run gofmt to clean up the generated code. # Run gofmt to clean up the generated code.
kube::golang::verify_go_version kube::golang::setup_env
gofmt -s -w "${package}/api.pb.go" gofmt -s -w "${package}/api.pb.go"
} }

View File

@ -36,7 +36,6 @@ if [[ "${GOPROXY:-}" == "off" ]]; then
fi fi
kube::golang::setup_env kube::golang::setup_env
kube::golang::verify_go_version
kube::util::require-jq kube::util::require-jq
# let us log all errors before we exit # let us log all errors before we exit

View File

@ -26,7 +26,6 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${KUBE_ROOT}/hack/lib/init.sh" source "${KUBE_ROOT}/hack/lib/init.sh"
kube::golang::setup_env kube::golang::setup_env
kube::golang::verify_go_version
kube::util::require-jq kube::util::require-jq
# Explicitly set GOFLAGS to ignore vendor, since GOFLAGS=-mod=vendor breaks dependency resolution while rebuilding vendor # Explicitly set GOFLAGS to ignore vendor, since GOFLAGS=-mod=vendor breaks dependency resolution while rebuilding vendor

View File

@ -23,7 +23,7 @@ set -o pipefail
KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${KUBE_ROOT}/hack/lib/init.sh" source "${KUBE_ROOT}/hack/lib/init.sh"
kube::golang::verify_go_version kube::golang::setup_env
cd "${KUBE_ROOT}" cd "${KUBE_ROOT}"

View File

@ -26,7 +26,6 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${KUBE_ROOT}/hack/lib/init.sh" source "${KUBE_ROOT}/hack/lib/init.sh"
kube::golang::setup_env kube::golang::setup_env
kube::golang::verify_go_version
cd "${KUBE_ROOT}" cd "${KUBE_ROOT}"

View File

@ -36,7 +36,6 @@ if [[ "${GOPROXY:-}" == "off" ]]; then
fi fi
kube::golang::setup_env kube::golang::setup_env
kube::golang::verify_go_version
for mod in "${MODULES[@]}"; do for mod in "${MODULES[@]}"; do
pushd "${KUBE_ROOT}/${mod}" >/dev/null pushd "${KUBE_ROOT}/${mod}" >/dev/null

View File

@ -24,7 +24,6 @@ set -o pipefail
KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${KUBE_ROOT}/hack/lib/init.sh" source "${KUBE_ROOT}/hack/lib/init.sh"
kube::golang::verify_go_version
kube::golang::setup_env kube::golang::setup_env
echo 'installing mockgen' echo 'installing mockgen'

View File

@ -29,7 +29,6 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
source "${KUBE_ROOT}/hack/lib/util.sh" source "${KUBE_ROOT}/hack/lib/util.sh"
kube::golang::setup_env kube::golang::setup_env
kube::golang::verify_go_version
# Ensure that we find the binaries we build before anything else. # Ensure that we find the binaries we build before anything else.
export GOBIN="${KUBE_OUTPUT_BIN}" export GOBIN="${KUBE_OUTPUT_BIN}"

View File

@ -26,7 +26,6 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
# Get all the default Go environment. # Get all the default Go environment.
kube::golang::setup_env kube::golang::setup_env
kube::golang::verify_go_version
# Turn off workspaces until we are ready for them later # Turn off workspaces until we are ready for them later
export GOWORK=off export GOWORK=off

View File

@ -26,7 +26,6 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${KUBE_ROOT}/hack/lib/init.sh" source "${KUBE_ROOT}/hack/lib/init.sh"
source "${KUBE_ROOT}/hack/lib/util.sh" source "${KUBE_ROOT}/hack/lib/util.sh"
kube::golang::verify_go_version
kube::golang::setup_env kube::golang::setup_env
cd "${KUBE_ROOT}" cd "${KUBE_ROOT}"

View File

@ -25,7 +25,7 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${KUBE_ROOT}/hack/lib/init.sh" source "${KUBE_ROOT}/hack/lib/init.sh"
source "${KUBE_ROOT}/hack/lib/util.sh" source "${KUBE_ROOT}/hack/lib/util.sh"
kube::golang::verify_go_version kube::golang::setup_env
cd "${KUBE_ROOT}" cd "${KUBE_ROOT}"

View File

@ -25,7 +25,6 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${KUBE_ROOT}/hack/lib/init.sh" source "${KUBE_ROOT}/hack/lib/init.sh"
kube::golang::setup_env kube::golang::setup_env
kube::golang::verify_go_version
# Ensure that we find the binaries we build before anything else. # Ensure that we find the binaries we build before anything else.
export GOBIN="${KUBE_OUTPUT_BIN}" export GOBIN="${KUBE_OUTPUT_BIN}"

View File

@ -45,7 +45,6 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
source "${KUBE_ROOT}/hack/lib/util.sh" source "${KUBE_ROOT}/hack/lib/util.sh"
kube::golang::setup_env kube::golang::setup_env
kube::golang::verify_go_version
export GOBIN="${KUBE_OUTPUT_BIN}" export GOBIN="${KUBE_OUTPUT_BIN}"
kube::util::require-jq kube::util::require-jq

View File

@ -26,7 +26,6 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${KUBE_ROOT}/hack/lib/init.sh" source "${KUBE_ROOT}/hack/lib/init.sh"
kube::golang::setup_env kube::golang::setup_env
kube::golang::verify_go_version
cd "${KUBE_ROOT}" cd "${KUBE_ROOT}"

View File

@ -26,7 +26,6 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${KUBE_ROOT}/hack/lib/init.sh" source "${KUBE_ROOT}/hack/lib/init.sh"
kube::golang::setup_env kube::golang::setup_env
kube::golang::verify_go_version
staging_repos=() staging_repos=()
kube::util::read-array staging_repos < <(kube::util::list_staging_repos) kube::util::read-array staging_repos < <(kube::util::list_staging_repos)

View File

@ -26,7 +26,6 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
cd "${KUBE_ROOT}" cd "${KUBE_ROOT}"
kube::golang::setup_env kube::golang::setup_env
kube::golang::verify_go_version
ret=0 ret=0
TYPECHECK_SERIAL="${TYPECHECK_SERIAL:-false}" TYPECHECK_SERIAL="${TYPECHECK_SERIAL:-false}"

View File

@ -23,7 +23,6 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
source "${KUBE_ROOT}/hack/lib/util.sh" source "${KUBE_ROOT}/hack/lib/util.sh"
stability_check_setup() { stability_check_setup() {
kube::golang::verify_go_version
kube::util::ensure-temp-dir kube::util::ensure-temp-dir
cd "${KUBE_ROOT}" cd "${KUBE_ROOT}"
kube::golang::setup_env kube::golang::setup_env