mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 19:01:49 +00:00
golangci-lint: show more information about actual invocation
Both env variables and parameters are relevant for users who want to invoke the command directly or follow how it is used.
This commit is contained in:
parent
12ceec47aa
commit
2d513e1330
@ -26,12 +26,25 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
|
||||
source "${KUBE_ROOT}/hack/lib/init.sh"
|
||||
source "${KUBE_ROOT}/hack/lib/util.sh"
|
||||
|
||||
kube::golang::verify_go_version
|
||||
|
||||
# Ensure that we find the binaries we build before anything else.
|
||||
export GOBIN="${KUBE_OUTPUT_BINPATH}"
|
||||
PATH="${GOBIN}:${PATH}"
|
||||
|
||||
invocation=(./hack/verify-golangci-lint.sh "$@")
|
||||
|
||||
# The logcheck plugin currently has to be configured via env variables
|
||||
# (https://github.com/golangci/golangci-lint/issues/1512).
|
||||
#
|
||||
# Remember to clean the golangci-lint cache when changing
|
||||
# the configuration and running this script multiple times,
|
||||
# otherwise golangci-lint will report stale results:
|
||||
# _output/local/bin/golangci-lint cache clean
|
||||
golangci=(env LOGCHECK_CONFIG="${KUBE_ROOT}/hack/logcheck.conf" "${GOBIN}/golangci-lint" run)
|
||||
golangci_config="${KUBE_ROOT}/.golangci.yaml"
|
||||
golangci+=(--config="${golangci_config}")
|
||||
|
||||
kube::golang::verify_go_version
|
||||
|
||||
# Explicitly opt into go modules, even though we're inside a GOPATH directory
|
||||
export GO111MODULE=on
|
||||
|
||||
@ -44,29 +57,18 @@ popd >/dev/null
|
||||
|
||||
cd "${KUBE_ROOT}"
|
||||
|
||||
## The config is in ${KUBE_ROOT}/.golangci.yaml where it will be found
|
||||
## even when golangci-lint is invoked in a sub-directory.
|
||||
##
|
||||
## The logcheck plugin currently has to be configured via env variables
|
||||
## (https://github.com/golangci/golangci-lint/issues/1512).
|
||||
##
|
||||
## Remember to clean the golangci-lint cache when changing
|
||||
## the configuration and running this script multiple times,
|
||||
## otherwise golangci-lint will report stale results:
|
||||
## _output/local/bin/golangci-lint cache clean
|
||||
export LOGCHECK_CONFIG="${KUBE_ROOT}/hack/logcheck.conf"
|
||||
|
||||
echo 'running golangci-lint ' >&2
|
||||
res=0
|
||||
if [[ "$#" -gt 0 ]]; then
|
||||
golangci-lint run "$@" >&2 || res=$?
|
||||
echo "running ${golangci[*]} $*" >&2
|
||||
"${golangci[@]}" "$@" >&2 || res=$?
|
||||
else
|
||||
golangci-lint run ./... >&2 || res=$?
|
||||
echo "running ${golangci[*]} ./..." >&2
|
||||
"${golangci[@]}" ./... >&2 || res=$?
|
||||
for d in staging/src/k8s.io/*; do
|
||||
MODPATH="staging/src/k8s.io/$(basename "${d}")"
|
||||
echo "running golangci-lint for ${KUBE_ROOT}/${MODPATH}"
|
||||
echo "running ( cd ${KUBE_ROOT}/${MODPATH}; ${golangci[*]} --path-prefix ${MODPATH} ./... )"
|
||||
pushd "${KUBE_ROOT}/${MODPATH}" >/dev/null
|
||||
golangci-lint --path-prefix "${MODPATH}" run ./... >&2 || res=$?
|
||||
"${golangci[@]}" --path-prefix "${MODPATH}" ./... >&2 || res=$?
|
||||
popd >/dev/null
|
||||
done
|
||||
fi
|
||||
@ -77,7 +79,7 @@ if [ "$res" -eq 0 ]; then
|
||||
else
|
||||
{
|
||||
echo
|
||||
echo 'Please review the above warnings. You can test via "./hack/verify-golangci-lint.sh"'
|
||||
echo "Please review the above warnings. You can test via \"${invocation[*]}\""
|
||||
echo 'If the above warnings do not make sense, you can exempt this warning with a comment'
|
||||
echo ' (if your reviewer is okay with it).'
|
||||
echo 'In general please prefer to fix the error, we have already disabled specific lints'
|
||||
|
Loading…
Reference in New Issue
Block a user