Run hack/verify-govet.sh as part of verify make target

This commit ensures that:
- go vet will be run as part of the make verify target
- the vet make-rule script won't be run directly, as generated_files won't be run in that case
- that go vet errors show up in the build log with a start time, finish time, and SUCCESS/FAILED message as part of the verify make rule script
This commit is contained in:
Christoph Blecker 2017-06-21 11:10:25 -07:00
parent 3ea93b2753
commit 97783f9093
No known key found for this signature in database
GPG Key ID: B34A59A9D39F838B
4 changed files with 12 additions and 14 deletions

View File

@ -54,7 +54,7 @@ KUBE_GOLDFLAGS := $(GOLDFLAGS)
KUBE_GOGCFLAGS = $(GOGCFLAGS) KUBE_GOGCFLAGS = $(GOGCFLAGS)
# Extra options for the release or quick-release options: # Extra options for the release or quick-release options:
KUBE_RELEASE_RUN_TESTS := $(KUBE_RELEASE_RUN_TESTS) KUBE_RELEASE_RUN_TESTS := $(KUBE_RELEASE_RUN_TESTS)
KUBE_FASTBUILD := $(KUBE_FASTBUILD) KUBE_FASTBUILD := $(KUBE_FASTBUILD)
# This controls the verbosity of the build. Higher numbers mean more output. # This controls the verbosity of the build. Higher numbers mean more output.
@ -121,7 +121,6 @@ verify:
else else
verify: verify_generated_files verify: verify_generated_files
KUBE_VERIFY_GIT_BRANCH=$(BRANCH) hack/make-rules/verify.sh -v KUBE_VERIFY_GIT_BRANCH=$(BRANCH) hack/make-rules/verify.sh -v
hack/make-rules/vet.sh
endif endif
define UPDATE_HELP_INFO define UPDATE_HELP_INFO
@ -340,8 +339,8 @@ ifeq ($(PRINT_HELP),y)
vet: vet:
@echo "$$VET_HELP_INFO" @echo "$$VET_HELP_INFO"
else else
vet: vet: generated_files
hack/make-rules/vet.sh $(WHAT) CALLED_FROM_MAIN_MAKEFILE=1 hack/make-rules/vet.sh $(WHAT)
endif endif
define RELEASE_HELP_INFO define RELEASE_HELP_INFO
@ -361,7 +360,7 @@ endif
define RELEASE_SKIP_TESTS_HELP_INFO define RELEASE_SKIP_TESTS_HELP_INFO
# Build a release, but skip tests # Build a release, but skip tests
# #
# Args: # Args:
# KUBE_RELEASE_RUN_TESTS: Whether to run tests. Set to 'y' to run tests anyways. # KUBE_RELEASE_RUN_TESTS: Whether to run tests. Set to 'y' to run tests anyways.
# KUBE_FASTBUILD: Whether to cross-compile for other architectures. Set to 'true' to do so. # KUBE_FASTBUILD: Whether to cross-compile for other architectures. Set to 'true' to do so.

View File

@ -25,7 +25,6 @@ source "${KUBE_ROOT}/hack/lib/util.sh"
EXCLUDED_PATTERNS=( EXCLUDED_PATTERNS=(
"verify-all.sh" # this script calls the make rule and would cause a loop "verify-all.sh" # this script calls the make rule and would cause a loop
"verify-linkcheck.sh" # runs in separate Jenkins job once per day due to high network usage "verify-linkcheck.sh" # runs in separate Jenkins job once per day due to high network usage
"verify-govet.sh" # it has a separate make vet target
"verify-test-owners.sh" # TODO(rmmh): figure out how to avoid endless conflicts "verify-test-owners.sh" # TODO(rmmh): figure out how to avoid endless conflicts
"verify-*-dockerized.sh" # Don't run any scripts that intended to be run dockerized "verify-*-dockerized.sh" # Don't run any scripts that intended to be run dockerized
) )

View File

@ -23,9 +23,16 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
cd "${KUBE_ROOT}" cd "${KUBE_ROOT}"
# If called directly, exit.
if [[ "${CALLED_FROM_MAIN_MAKEFILE:-""}" == "" ]]; then
echo "ERROR: $0 should not be run directly." >&2
echo >&2
echo "Please run this command using \"make vet\""
exit 1
fi
# This is required before we run govet for the results to be correct. # This is required before we run govet for the results to be correct.
# See https://github.com/golang/go/issues/16086 for details. # See https://github.com/golang/go/issues/16086 for details.
make generated_files
go install ./cmd/... go install ./cmd/...
# Use eval to preserve embedded quoted strings. # Use eval to preserve embedded quoted strings.
@ -46,5 +53,4 @@ if [[ ${#targets[@]} -eq 0 ]]; then
targets=$(go list -e ./... | egrep -v "/(third_party|vendor|staging|clientset_generated)/") targets=$(go list -e ./... | egrep -v "/(third_party|vendor|staging|clientset_generated)/")
fi fi
set -x
go vet "${goflags[@]:+${goflags[@]}}" ${targets[@]} go vet "${goflags[@]:+${goflags[@]}}" ${targets[@]}

View File

@ -28,10 +28,4 @@ if [[ "$#" -gt 0 ]]; then
ARGHELP="WHAT='$@'" ARGHELP="WHAT='$@'"
fi fi
echo "NOTE: $0 has been replaced by 'make vet'"
echo
echo "The equivalent of this invocation is: "
echo " make vet ${ARGHELP}"
echo
echo
make --no-print-directory -C "${KUBE_ROOT}" vet WHAT="$@" make --no-print-directory -C "${KUBE_ROOT}" vet WHAT="$@"