lint: add golangci-lint to the CI pipeline of kube-state-metrics

This commit is contained in:
tariqibrahim 2019-03-04 10:13:18 -08:00
parent 17ddeca348
commit d34c6dc785
30 changed files with 58 additions and 32 deletions

18
.golangci.yml Normal file
View File

@ -0,0 +1,18 @@
run:
deadline: 2m
linters:
disable-all: true
enable:
- gofmt
- goimports
- golint
- gosimple
- gocyclo
- ineffassign
- misspell
- govet
linters-settings:
goimports:
local-prefixes: k8s.io/kube-state-metrics

View File

@ -28,8 +28,8 @@ install:
jobs:
include:
# Format
- script: make format
# Lint
- script: make lint
# Check that all the go modules manifests, vendors, and packages are in sync
- script: make validate-modules
# Check that all metrics are documented

View File

@ -13,6 +13,8 @@ PKG=k8s.io/kube-state-metrics/pkg
GO_VERSION=1.11.5
FIRST_GOPATH:=$(firstword $(subst :, ,$(shell go env GOPATH)))
BENCHCMP_BINARY:=$(FIRST_GOPATH)/bin/benchcmp
GOLANGCI_VERSION := v1.15.0
HAS_GOLANGCI := $(shell which golangci-lint)
IMAGE = $(REGISTRY)/kube-state-metrics
MULTI_ARCH_IMG = $(IMAGE)-$(ARCH)
@ -26,10 +28,15 @@ validate-modules:
GO111MODULE=on go mod vendor
@git diff --exit-code -- go.sum go.mod vendor/
format: shellcheck
@go fmt $(PKGS) | grep ".*\.go"; if [ "$$?" = "0" ]; then exit 1; fi
licensecheck:
./tests/check_license.sh
lint: shellcheck licensecheck
ifndef HAS_GOLANGCI
curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(GOPATH)/bin ${GOLANGCI_VERSION}
endif
golangci-lint run
doccheck:
@echo "- Checking if the documentation is up to date..."
@grep -hoE '(kube_[^ |]+)' docs/* --exclude=README.md| sort -u > documented_metrics
@ -112,4 +119,4 @@ e2e:
$(BENCHCMP_BINARY):
go get golang.org/x/tools/cmd/benchcmp
.PHONY: all build build-local all-push all-container test-unit test-benchmark-compare container push quay-push clean e2e validate-modules shellcheck
.PHONY: all build build-local all-push all-container test-unit test-benchmark-compare container push quay-push clean e2e validate-modules shellcheck licensecheck lint

View File

@ -17,9 +17,9 @@ limitations under the License.
package collector
import (
v1 "k8s.io/api/core/v1"
"k8s.io/kube-state-metrics/pkg/metric"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"

View File

@ -19,7 +19,7 @@ package collector
import (
"testing"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"
)

View File

@ -23,7 +23,7 @@ import (
"time"
batchv1beta1 "k8s.io/api/batch/v1beta1"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"
)

View File

@ -17,9 +17,9 @@ limitations under the License.
package collector
import (
v1 "k8s.io/api/core/v1"
"k8s.io/kube-state-metrics/pkg/metric"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"

View File

@ -22,7 +22,7 @@ import (
"testing"
"time"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"
)

View File

@ -17,9 +17,10 @@ limitations under the License.
package collector
import (
v12 "k8s.io/api/core/v1"
"testing"
v12 "k8s.io/api/core/v1"
autoscaling "k8s.io/api/autoscaling/v2beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"

View File

@ -21,7 +21,7 @@ import (
"time"
v1batch "k8s.io/api/batch/v1"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"
)

View File

@ -17,9 +17,9 @@ limitations under the License.
package collector
import (
v1 "k8s.io/api/core/v1"
"k8s.io/kube-state-metrics/pkg/metric"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"

View File

@ -20,7 +20,7 @@ import (
"testing"
"time"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"

View File

@ -19,7 +19,7 @@ package collector
import (
"k8s.io/kube-state-metrics/pkg/metric"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"

View File

@ -20,7 +20,7 @@ import (
"testing"
"time"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"
)

View File

@ -20,7 +20,7 @@ import (
"testing"
"time"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"

View File

@ -19,7 +19,7 @@ package collector
import (
"k8s.io/kube-state-metrics/pkg/metric"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"

View File

@ -19,7 +19,7 @@ package collector
import (
"testing"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"

View File

@ -19,7 +19,7 @@ package collector
import (
"k8s.io/kube-state-metrics/pkg/metric"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"

View File

@ -19,7 +19,7 @@ package collector
import (
"testing"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"

View File

@ -17,9 +17,9 @@ limitations under the License.
package collector
import (
v1 "k8s.io/api/core/v1"
"k8s.io/kube-state-metrics/pkg/metric"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"

View File

@ -20,7 +20,7 @@ import (
"testing"
"time"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"
)

View File

@ -17,9 +17,9 @@ limitations under the License.
package collector
import (
v1 "k8s.io/api/core/v1"
"k8s.io/kube-state-metrics/pkg/metric"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"

View File

@ -20,7 +20,7 @@ import (
"testing"
"time"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"

View File

@ -17,9 +17,9 @@ limitations under the License.
package collector
import (
v1 "k8s.io/api/core/v1"
"k8s.io/kube-state-metrics/pkg/metric"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"

View File

@ -19,7 +19,7 @@ package collector
import (
"testing"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"
)

View File

@ -17,9 +17,9 @@ limitations under the License.
package collector
import (
v1 "k8s.io/api/core/v1"
"k8s.io/kube-state-metrics/pkg/metric"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"

View File

@ -20,7 +20,7 @@ import (
"testing"
"time"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kube-state-metrics/pkg/metric"
)

View File

@ -31,7 +31,7 @@ import (
coll "k8s.io/kube-state-metrics/pkg/collector"
"k8s.io/kube-state-metrics/pkg/options"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes/fake"

View File

@ -21,7 +21,7 @@ import (
"strings"
"testing"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/meta"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"

View File

@ -22,7 +22,7 @@ import (
"testing"
"time"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"