From cce3f6ffa796ea416021b0d62567a3f52b979567 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Wed, 16 Aug 2023 09:33:02 -0400 Subject: [PATCH 2/2] Make gomaxprocs install optional, limit to tests --- hack/lib/golang.sh | 25 +++++++++++++++---------- hack/make-rules/test-e2e-node.sh | 1 + hack/make-rules/test.sh | 1 + 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh index 66772f08a81..983ff368e25 100755 --- a/hack/lib/golang.sh +++ b/hack/lib/golang.sh @@ -556,20 +556,25 @@ kube::golang::setup_env() { # This seems to matter to some tools export GO15VENDOREXPERIMENT=1 +} +kube::golang::setup_gomaxprocs() { # GOMAXPROCS by default does not reflect the number of cpu(s) available # when running in a container, please see https://github.com/golang/go/issues/33803 - if ! command -v ncpu >/dev/null 2>&1; then - # shellcheck disable=SC2164 - pushd "${KUBE_ROOT}/hack/tools" >/dev/null - GO111MODULE=on go install ./ncpu - # shellcheck disable=SC2164 - popd >/dev/null + if [[ -z "${GOMAXPROCS:-}" ]]; then + if ! command -v ncpu >/dev/null 2>&1; then + # shellcheck disable=SC2164 + pushd "${KUBE_ROOT}/hack/tools" >/dev/null + GO111MODULE=on go install ./ncpu || echo "Will not automatically set GOMAXPROCS" + # shellcheck disable=SC2164 + popd >/dev/null + fi + if command -v ncpu >/dev/null 2>&1; then + GOMAXPROCS=$(ncpu) + export GOMAXPROCS + kube::log::status "Set GOMAXPROCS automatically to ${GOMAXPROCS}" + fi fi - - GOMAXPROCS=${GOMAXPROCS:-$(ncpu)} - export GOMAXPROCS - kube::log::status "Setting GOMAXPROCS: ${GOMAXPROCS}" } # This will take binaries from $GOPATH/bin and copy them to the appropriate diff --git a/hack/make-rules/test-e2e-node.sh b/hack/make-rules/test-e2e-node.sh index 43dde0c740f..49e3e04ac71 100755 --- a/hack/make-rules/test-e2e-node.sh +++ b/hack/make-rules/test-e2e-node.sh @@ -18,6 +18,7 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/../.. source "${KUBE_ROOT}/hack/lib/init.sh" kube::golang::setup_env +kube::golang::setup_gomaxprocs # start the cache mutation detector by default so that cache mutators will be found KUBE_CACHE_MUTATION_DETECTOR="${KUBE_CACHE_MUTATION_DETECTOR:-true}" diff --git a/hack/make-rules/test.sh b/hack/make-rules/test.sh index e9074678a8f..4aa72730d83 100755 --- a/hack/make-rules/test.sh +++ b/hack/make-rules/test.sh @@ -22,6 +22,7 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/../.. source "${KUBE_ROOT}/hack/lib/init.sh" kube::golang::setup_env +kube::golang::setup_gomaxprocs # start the cache mutation detector by default so that cache mutators will be found KUBE_CACHE_MUTATION_DETECTOR="${KUBE_CACHE_MUTATION_DETECTOR:-true}" -- 2.41.0