diff --git a/build/common.sh b/build/common.sh index 6ace6a06a5..28d0f2a683 100755 --- a/build/common.sh +++ b/build/common.sh @@ -600,6 +600,7 @@ function kube::build::run_build_command_ex() { --env "GOFLAGS=${GOFLAGS:-}" --env "GOLDFLAGS=${GOLDFLAGS:-}" --env "GOGCFLAGS=${GOGCFLAGS:-}" + --env "SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH:-}" ) if [[ -n "${DOCKER_CGROUP_PARENT:-}" ]]; then diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh index bbe778ed35..20c44d8679 100755 --- a/hack/lib/golang.sh +++ b/hack/lib/golang.sh @@ -557,6 +557,7 @@ kube::golang::build_some_binaries() { fi else V=2 kube::log::info "Coverage is disabled." + kube::log::status "go install" "${build_args[@]}" "$@" go install "${build_args[@]}" "$@" fi } @@ -586,6 +587,7 @@ kube::golang::build_binaries_for_platform() { -installsuffix static ${goflags:+"${goflags[@]}"} -gcflags "${gogcflags:-}" + -asmflags "${goasmflags:-}" -ldflags "${goldflags:-}" ) CGO_ENABLED=0 kube::golang::build_some_binaries "${statics[@]}" @@ -595,6 +597,7 @@ kube::golang::build_binaries_for_platform() { build_args=( ${goflags:+"${goflags[@]}"} -gcflags "${gogcflags:-}" + -asmflags "${goasmflags:-}" -ldflags "${goldflags:-}" ) kube::golang::build_some_binaries "${nonstatics[@]}" @@ -608,6 +611,7 @@ kube::golang::build_binaries_for_platform() { go test -c \ ${goflags:+"${goflags[@]}"} \ -gcflags "${gogcflags:-}" \ + -asmflags "${goasmflags:-}" \ -ldflags "${goldflags:-}" \ -o "${outfile}" \ "${testpkg}" @@ -661,10 +665,11 @@ kube::golang::build_binaries() { host_platform=$(kube::golang::host_platform) # Use eval to preserve embedded quoted strings. - local goflags goldflags gogcflags + local goflags goldflags goasmflags gogcflags eval "goflags=(${GOFLAGS:-})" - goldflags="${GOLDFLAGS:-} $(kube::version::ldflags)" - gogcflags="${GOGCFLAGS:-}" + goldflags="${GOLDFLAGS:-} -s -w $(kube::version::ldflags)" + goasmflags="-trimpath=${KUBE_ROOT}" + gogcflags="${GOGCFLAGS:-} -trimpath=${KUBE_ROOT}" local -a targets=() local arg