diff --git a/hack/gometalinter.json b/hack/gometalinter.json deleted file mode 100644 index bfe78ec0916..00000000000 --- a/hack/gometalinter.json +++ /dev/null @@ -1,20 +0,0 @@ - -{ - "Vendor": true, - "EnableGC": true, - "Debug": false, - "Sort": ["linter", "severity", "path"], - "Enable": [ - "deadcode", - "gofmt", - "goimports", - "gosimple", - "ineffassign", - "interfacer", - "unconvert", - "vet", - "staticcheck" - ], - - "LineLength": 200 -} diff --git a/hack/gometalinter.sh b/hack/linter.sh similarity index 60% rename from hack/gometalinter.sh rename to hack/linter.sh index 7f5fecd3fca..23b34f3abf5 100755 --- a/hack/gometalinter.sh +++ b/hack/linter.sh @@ -16,18 +16,22 @@ set -e -o pipefail -SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -install_gometalinter() { - echo "Installing gometalinter.v2" - go get -u gopkg.in/alecthomas/gometalinter.v2 - gometalinter.v2 --install -} - -if ! [ -x "$(command -v gometalinter.v2)" ]; then - install_gometalinter +if ! [ -x "$(command -v golangci-lint)" ]; then + echo "Installing GolangCI-Lint" + go get -u github.com/golangci/golangci-lint/cmd/golangci-lint fi -gometalinter.v2 \ - --deadline 5m \ - --config $SCRIPTDIR/gometalinter.json ./... +golangci-lint run \ + --no-config \ + -E goimports \ + -E interfacer \ + -E unconvert \ + -E goconst \ + -E maligned \ + -D errcheck + +# From now on, run go lint. +golangci-lint run \ + --disable-all \ + -E golint \ + --new-from-rev bed41e9a77431990cc8504c0955252c851934b89 \ No newline at end of file diff --git a/pkg/skaffold/kubernetes/log.go b/pkg/skaffold/kubernetes/log.go index 94a2fead2dc..3af408682a3 100644 --- a/pkg/skaffold/kubernetes/log.go +++ b/pkg/skaffold/kubernetes/log.go @@ -56,7 +56,7 @@ func NewLogAggregator(out io.Writer, podSelector PodSelector, colorPicker ColorP } } -func (a *LogAggregator) Start(ctx context.Context, client corev1.CoreV1Interface) error { +func (a *LogAggregator) Start(ctx context.Context, client corev1.PodsGetter) error { a.startTime = time.Now() watcher, err := client.Pods("").Watch(meta_v1.ListOptions{ @@ -91,8 +91,7 @@ func (a *LogAggregator) Start(ctx context.Context, client corev1.CoreV1Interface return nil } -// nolint: interfacer -func (a *LogAggregator) streamLogs(ctx context.Context, client corev1.CoreV1Interface, pod *v1.Pod) error { +func (a *LogAggregator) streamLogs(ctx context.Context, client corev1.PodsGetter, pod *v1.Pod) error { pods := client.Pods(pod.Namespace) if err := WaitForPodReady(pods, pod.Name); err != nil { return errors.Wrap(err, "waiting for pod ready") diff --git a/pkg/skaffold/kubernetes/wait.go b/pkg/skaffold/kubernetes/wait.go index c82573e0d62..64c8c99efeb 100644 --- a/pkg/skaffold/kubernetes/wait.go +++ b/pkg/skaffold/kubernetes/wait.go @@ -116,8 +116,7 @@ func (s *PodStore) Stop() { close(s.stopCh) } -// nolint: interfacer -func NewPodStore(c kubernetes.Interface, namespace string, label labels.Selector, field fields.Selector) *PodStore { +func NewPodStore(c kubernetes.Interface, namespace string, label fmt.Stringer, field fmt.Stringer) *PodStore { lw := &cache.ListWatch{ ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { options.LabelSelector = label.String() diff --git a/test.sh b/test.sh index d797d9f7a26..eda29efb197 100755 --- a/test.sh +++ b/test.sh @@ -31,7 +31,7 @@ echo "Running validation scripts..." scripts=( "hack/boilerplate.sh" "hack/gofmt.sh" - "hack/gometalinter.sh" + "hack/linter.sh" "hack/dep.sh" ) fail=0