diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 3354ce7..a391cae 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -45,7 +45,7 @@ jobs: path: ${{ github.workspace }}/src/github.com/${{ github.repository }} - uses: actions/setup-go@v1 with: - go-version: 1.18.1 + go-version: 1.20 - name: Generate files run: | go generate ./pkg/tools/k8s/gen.go diff --git a/.golangci.yml b/.golangci.yml index 7c24988..5816fbe 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,18 +1,17 @@ --- run: - # concurrency: 6 - go: "1.17" + go: '1.20' timeout: 2m issues-exit-code: 1 tests: true linters-settings: goheader: - template-path: ".license/template.txt" + template-path: .license/template.txt values: regexp: company: .* - copyright-holder: Copyright \(c\) ({{year-range}}) {{company}}\n\n - copyright-holders: ({{copyright-holder}})+ + copyright-holder: 'Copyright \(c\) ({{year-range}}) {{company}}\n\n' + copyright-holders: '({{copyright-holder}})+' errcheck: check-type-assertions: false check-blank: false @@ -38,17 +37,15 @@ linters-settings: funlen: Lines: 100 Statements: 50 + depguard: + rules: + main: + deny: + - pkg: errors + desc: Please use github.com/pkg/errors instead of errors in go imports goconst: min-len: 2 min-occurrences: 2 - depguard: - list-type: blacklist - include-go-root: false - packages: - - errors - packages-with-error-message: - # specify an error message to output when a blacklisted package is used - - errors: "Please use \"github.com/pkg/errors\" instead of \"errors\" in go imports" misspell: locale: US unparam: @@ -128,13 +125,12 @@ linters-settings: linters: disable-all: true enable: - # - rowserrcheck - goheader - bodyclose - deadcode - - depguard - dogsled - dupl + - depguard - errcheck - funlen - gochecknoinits @@ -149,7 +145,6 @@ linters: - govet - ineffassign - interfacer - # - lll - misspell - nakedret - scopelint @@ -159,7 +154,6 @@ linters: - typecheck - unconvert - unparam - # - unused - varcheck - whitespace issues: diff --git a/go.mod b/go.mod index cbdfd84..1eb762f 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/networkservicemesh/sdk-k8s -go 1.18 +go 1.20 require ( github.com/fsnotify/fsnotify v1.5.4 diff --git a/pkg/registry/etcd/nse_server_test.go b/pkg/registry/etcd/nse_server_test.go index 8b92efe..33552e5 100644 --- a/pkg/registry/etcd/nse_server_test.go +++ b/pkg/registry/etcd/nse_server_test.go @@ -20,12 +20,12 @@ package etcd_test import ( "context" - "errors" "io" "testing" "time" "github.com/networkservicemesh/api/pkg/api/registry" + "github.com/pkg/errors" "github.com/stretchr/testify/require" "google.golang.org/protobuf/types/known/timestamppb" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/pkg/tools/k8s/client/clientset/versioned/fake/register.go b/pkg/tools/k8s/client/clientset/versioned/fake/register.go index 5b32e57..e28f3b3 100644 --- a/pkg/tools/k8s/client/clientset/versioned/fake/register.go +++ b/pkg/tools/k8s/client/clientset/versioned/fake/register.go @@ -42,14 +42,14 @@ var localSchemeBuilder = runtime.SchemeBuilder{ // AddToScheme adds all types of this clientset into the given scheme. This allows composition // of clientsets, like in: // -// import ( -// "k8s.io/client-go/kubernetes" -// clientsetscheme "k8s.io/client-go/kubernetes/scheme" -// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" -// ) -// -// kclientset, _ := kubernetes.NewForConfig(c) -// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) // // After this, RawExtensions in Kubernetes types will serialize kube-aggregator types // correctly. diff --git a/pkg/tools/k8s/client/clientset/versioned/scheme/register.go b/pkg/tools/k8s/client/clientset/versioned/scheme/register.go index 0447acd..cbd9066 100644 --- a/pkg/tools/k8s/client/clientset/versioned/scheme/register.go +++ b/pkg/tools/k8s/client/clientset/versioned/scheme/register.go @@ -42,14 +42,14 @@ var localSchemeBuilder = runtime.SchemeBuilder{ // AddToScheme adds all types of this clientset into the given scheme. This allows composition // of clientsets, like in: // -// import ( -// "k8s.io/client-go/kubernetes" -// clientsetscheme "k8s.io/client-go/kubernetes/scheme" -// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" -// ) -// -// kclientset, _ := kubernetes.NewForConfig(c) -// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) // // After this, RawExtensions in Kubernetes types will serialize kube-aggregator types // correctly.