diff --git a/components/engine/hack/make/validate-vet b/components/engine/hack/make/validate-vet index 994a6ac03d..e88f7549c3 100644 --- a/components/engine/hack/make/validate-vet +++ b/components/engine/hack/make/validate-vet @@ -6,17 +6,27 @@ IFS=$'\n' files=( $(validate_diff --diff-filter=ACMR --name-only -- '*.go' | grep -v '^vendor/' || true) ) unset IFS +errors=() for f in "${files[@]}"; do - # we use "git show" here to validate that what's committed is vetted - failedVet=$(git show "$VALIDATE_HEAD:$f" | go vet) - if [ $failedVet ]; then - fails=yes - echo $failedVet - fi + # we use "git show" here to validate that what's committed passes go vet + failedVet=$(go vet "$f") + if [ "$failedVet" ]; then + errors+=( "$failedVet" ) + fi done -if [ $fails ]; then - echo 'Please review and resolve the above issues and commit the result.' + +if [ ${#errors[@]} -eq 0 ]; then + echo 'Congratulations! All Go source files have been vetted.' else - echo 'All Go source files have been vetted.' + { + echo "Errors from go vet:" + for err in "${errors[@]}"; do + echo " - $err" + done + echo + echo 'Please fix the above errors. You can test via "go vet" and commit the result.' + echo + } >&2 + false fi