From 251de509415b8062cd2bdee60ffff45b2836cdc7 Mon Sep 17 00:00:00 2001 From: Karol Szwaj Date: Tue, 6 May 2025 14:45:02 +0200 Subject: [PATCH] update golangci-lint to v2 Signed-off-by: Karol Szwaj On-behalf-of: @SAP karol.szwaj@sap.com --- .golangci.yaml | 90 +++++++++++-------- Makefile | 4 +- contrib/example-backend/server.go | 8 +- pkg/indexers/serviceexportrequest.go | 4 +- .../servicebinding_controller.go | 4 +- test/e2e/framework/kcp.go | 4 +- 6 files changed, 64 insertions(+), 50 deletions(-) diff --git a/.golangci.yaml b/.golangci.yaml index 31d4ccb48..aa8296c75 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -1,9 +1,8 @@ +version: "2" run: - timeout: 10m allow-parallel-runners: true - linters: - disable-all: true + default: none enable: - asasalint - asciicheck @@ -17,10 +16,8 @@ linters: - errchkjson - gocritic - godot - - gofmt - goprintffuncname - gosec - - gosimple - govet - importas - ineffassign @@ -36,39 +33,56 @@ linters: - unused - usestdlibvars - whitespace - -linters-settings: - goconst: - ignore-tests: true - nolintlint: - allow-unused: false - allow-leading-space: false - require-specific: true - revive: - # make sure error-strings issues actually surface (default confidence is 0.8) - confidence: 0.6 + settings: + nolintlint: + require-specific: true + allow-unused: false + revive: + confidence: 0.6 + rules: + - name: context-keys-type + - name: duplicated-imports + - name: error-return + - name: error-strings + - name: error-naming + - name: if-return + - name: increment-decrement + - name: var-declaration + - name: package-comments + - name: range + - name: receiver-naming + - name: time-naming + - name: errorf + - name: superfluous-else + - name: unreachable-code + - name: bool-literal-in-expr + - name: constant-logical-expr + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling rules: - - name: context-keys-type - - name: duplicated-imports - - name: error-return - - name: error-strings - - name: error-naming - - name: if-return - - name: increment-decrement - - name: var-declaration - - name: package-comments - - name: range - - name: receiver-naming - - name: time-naming - - name: errorf - - name: superfluous-else - - name: unreachable-code - - name: bool-literal-in-expr - - name: constant-logical-expr - + - linters: + - goconst + path: (.+)_test\.go + paths: + - pkg/client + - third_party$ + - builtin$ + - examples$ issues: - exclude-dirs: - - pkg/client - - max-same-issues: 0 max-issues-per-linter: 0 + max-same-issues: 0 +formatters: + enable: + - gofmt + exclusions: + generated: lax + paths: + - pkg/client + - third_party$ + - builtin$ + - examples$ diff --git a/Makefile b/Makefile index 9f07e5ea3..c686e8a5f 100644 --- a/Makefile +++ b/Makefile @@ -63,7 +63,7 @@ OPENSHIFT_GOIMPORTS_BIN := openshift-goimports OPENSHIFT_GOIMPORTS := $(TOOLS_DIR)/$(OPENSHIFT_GOIMPORTS_BIN)-$(OPENSHIFT_GOIMPORTS_VER) export OPENSHIFT_GOIMPORTS # so hack scripts can use it -GOLANGCI_LINT_VER := v1.63.1 +GOLANGCI_LINT_VER := v2.1.6 GOLANGCI_LINT_BIN := golangci-lint GOLANGCI_LINT := $(TOOLS_GOBIN_DIR)/$(GOLANGCI_LINT_BIN)-$(GOLANGCI_LINT_VER) @@ -142,7 +142,7 @@ install: ## install binaries to GOBIN .PHONY: install $(GOLANGCI_LINT): - GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) github.com/golangci/golangci-lint/cmd/golangci-lint $(GOLANGCI_LINT_BIN) $(GOLANGCI_LINT_VER) + GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) github.com/golangci/golangci-lint/v2/cmd/golangci-lint $(GOLANGCI_LINT_BIN) $(GOLANGCI_LINT_VER) $(LOGCHECK): GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) sigs.k8s.io/logtools/logcheck $(LOGCHECK_BIN) $(LOGCHECK_VER) diff --git a/contrib/example-backend/server.go b/contrib/example-backend/server.go index ab815de3c..2bfddd0ab 100644 --- a/contrib/example-backend/server.go +++ b/contrib/example-backend/server.go @@ -207,10 +207,10 @@ func (s *Server) Run(ctx context.Context) error { } // start controllers - go s.Controllers.ServiceExport.Start(ctx, 1) - go s.Controllers.ServiceNamespace.Start(ctx, 1) - go s.Controllers.ClusterBinding.Start(ctx, 1) - go s.Controllers.ServiceExportRequest.Start(ctx, 1) + go s.ServiceExport.Start(ctx, 1) + go s.ServiceNamespace.Start(ctx, 1) + go s.ClusterBinding.Start(ctx, 1) + go s.ServiceExportRequest.Start(ctx, 1) go func() { <-ctx.Done() diff --git a/pkg/indexers/serviceexportrequest.go b/pkg/indexers/serviceexportrequest.go index 9c9a64e35..627e8a62d 100644 --- a/pkg/indexers/serviceexportrequest.go +++ b/pkg/indexers/serviceexportrequest.go @@ -32,7 +32,7 @@ func IndexServiceExportRequestByGroupResource(obj interface{}) ([]string, error) } keys := []string{} for _, gr := range sbr.Spec.Resources { - keys = append(keys, gr.GroupResource.Resource+"."+gr.GroupResource.Group) + keys = append(keys, gr.Resource+"."+gr.Group) } return keys, nil } @@ -44,7 +44,7 @@ func IndexServiceExportRequestByServiceExport(obj interface{}) ([]string, error) } keys := []string{} for _, gr := range sbr.Spec.Resources { - keys = append(keys, sbr.Namespace+"/"+gr.GroupResource.Resource+"."+gr.GroupResource.Group) + keys = append(keys, sbr.Namespace+"/"+gr.Resource+"."+gr.Group) } return keys, nil } diff --git a/pkg/konnector/controllers/cluster/servicebinding/servicebinding_controller.go b/pkg/konnector/controllers/cluster/servicebinding/servicebinding_controller.go index 236545a1a..5c917143f 100644 --- a/pkg/konnector/controllers/cluster/servicebinding/servicebinding_controller.go +++ b/pkg/konnector/controllers/cluster/servicebinding/servicebinding_controller.go @@ -176,7 +176,7 @@ func (c *controller) enqueueServiceBinding(logger klog.Logger, obj interface{}) } func (c *controller) enqueueServiceExport(logger klog.Logger, _ interface{}) { - bindings, err := c.serviceBindingInformer.Informer().GetIndexer().ByIndex(indexers.ByServiceBindingKubeconfigSecret, c.reconciler.consumerSecretRefKey) + bindings, err := c.serviceBindingInformer.Informer().GetIndexer().ByIndex(indexers.ByServiceBindingKubeconfigSecret, c.consumerSecretRefKey) if err != nil { runtime.HandleError(err) return @@ -189,7 +189,7 @@ func (c *controller) enqueueServiceExport(logger klog.Logger, _ interface{}) { runtime.HandleError(err) return } - logger.V(2).Info("queueing APIServiceBinding", "key", key, "reason", "APIServiceExport", "ServiceExportKey", c.reconciler.consumerSecretRefKey) + logger.V(2).Info("queueing APIServiceBinding", "key", key, "reason", "APIServiceExport", "ServiceExportKey", c.consumerSecretRefKey) c.queue.Add(key) } } diff --git a/test/e2e/framework/kcp.go b/test/e2e/framework/kcp.go index 5baf6bd47..65493681f 100644 --- a/test/e2e/framework/kcp.go +++ b/test/e2e/framework/kcp.go @@ -100,8 +100,8 @@ func NewWorkspace(t *testing.T, config *rest.Config, options ...ClusterWorkspace } // workaround broken GenerateName for workspaces: https://github.com/kcp-dev/kcp/pull/2193 - ws.ObjectMeta.Name = ws.ObjectMeta.GenerateName - ws.ObjectMeta.GenerateName = "" + ws.Name = ws.GenerateName + ws.GenerateName = "" token := make([]byte, 4) rand.Read(token) //nolint:errcheck base36hash := strings.ToLower(base36.EncodeBytes(token))