Update Golang CI Lint to the latest version (#113)

This change updates Golang CI Lint to the latest version and fixes new
linter errors that came along with the update.

These changes were split out of #112 and are required to update the Go
version.
This commit is contained in:
Philip Laine
2026-02-27 19:07:58 +01:00
committed by GitHub
parent de74776007
commit 8ec7c8ded8
8 changed files with 61 additions and 50 deletions
+3 -5
View File
@@ -10,14 +10,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone the code
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- name: Setup Go
uses: actions/setup-go@v5
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 #v6.3.0
with:
go-version-file: go.mod
- name: Run linter
uses: golangci/golangci-lint-action@v6
with:
version: v1.63.4
uses: golangci/golangci-lint-action@1e7e51e771db61008b38414a730f564565cf7c20 #v9.2.0
+32 -26
View File
@@ -1,33 +1,15 @@
version: "2"
run:
timeout: 5m
allow-parallel-runners: true
issues:
# don't skip warning about doc comments
# don't exclude the default set of lint
exclude-use-default: false
# restore some of the defaults
# (fill in the rest as needed)
exclude-rules:
- path: "api/*"
linters:
- lll
- path: "internal/*"
linters:
- dupl
- lll
linters:
disable-all: true
default: none
enable:
- copyloopvar
- dupl
- errcheck
- copyloopvar
- ginkgolinter
- goconst
- gocyclo
- gofmt
- goimports
- gosimple
- govet
- ineffassign
- lll
@@ -36,12 +18,36 @@ linters:
- prealloc
- revive
- staticcheck
- typecheck
- unconvert
- unparam
- unused
linters-settings:
revive:
settings:
revive:
rules:
- name: comment-spacings
staticcheck:
checks: ["all", "-ST1000", "-ST1003", "-ST1016", "-ST1020", "-ST1021", "-ST1022", "-QF1008"]
exclusions:
generated: lax
rules:
- name: comment-spacings
- linters:
- lll
path: api/*
- linters:
- dupl
- lll
path: internal/*
paths:
- third_party$
- builtin$
- examples$
formatters:
enable:
- gofmt
- goimports
exclusions:
generated: lax
paths:
- third_party$
- builtin$
- examples$
+1 -2
View File
@@ -42,7 +42,6 @@ import (
netbirdiov1 "github.com/netbirdio/kubernetes-operator/api/v1"
"github.com/netbirdio/kubernetes-operator/internal/controller"
webhookk8siov1 "github.com/netbirdio/kubernetes-operator/internal/webhook/v1"
webhooknetbirdiov1 "github.com/netbirdio/kubernetes-operator/internal/webhook/v1"
// +kubebuilder:scaffold:imports
)
@@ -215,7 +214,7 @@ func main() {
}
if enableWebhooks {
if err = webhookk8siov1.SetupPodWebhookWithManager(mgr, managementURL, clientImage); err != nil {
if err = webhooknetbirdiov1.SetupPodWebhookWithManager(mgr, managementURL, clientImage); err != nil {
setupLog.Error(err, "unable to create webhook", "webhook", "Pod")
os.Exit(1)
}
+1 -1
View File
@@ -31,7 +31,7 @@ type NBPolicyReconciler struct {
}
var (
errUnknownProtocol = fmt.Errorf("Unknown protocol")
errUnknownProtocol = fmt.Errorf("unknown protocol")
errKubernetesAPI = fmt.Errorf("kubernetes API error")
errNetBirdAPI = fmt.Errorf("netbird API error")
errInvalidValue = fmt.Errorf("invalid value")
@@ -222,7 +222,8 @@ var _ = Describe("NBResource Controller", func() {
resourceUpdated := false
mux.HandleFunc("/api/networks/test/resources/test", func(w http.ResponseWriter, r *http.Request) {
defer GinkgoRecover()
if r.Method == http.MethodGet {
switch r.Method {
case http.MethodGet:
resp := api.NetworkResource{
Address: nbresource.Spec.Address,
Description: &networkDescription,
@@ -245,7 +246,7 @@ var _ = Describe("NBResource Controller", func() {
Expect(err).NotTo(HaveOccurred())
_, err = w.Write(bs)
Expect(err).NotTo(HaveOccurred())
} else if r.Method == http.MethodPut {
case http.MethodPut:
resourceUpdated = true
bs, err := io.ReadAll(r.Body)
Expect(err).NotTo(HaveOccurred())
@@ -172,7 +172,8 @@ var _ = Describe("NBRoutingPeer Controller", func() {
networkCreated := false
mux.HandleFunc("/api/networks", func(w http.ResponseWriter, r *http.Request) {
defer GinkgoRecover()
if r.Method == http.MethodPost {
switch r.Method {
case http.MethodPost:
networkCreated = true
var req api.PostApiNetworksJSONRequestBody
bs, err := io.ReadAll(r.Body)
@@ -190,7 +191,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
Expect(err).NotTo(HaveOccurred())
_, err = w.Write(bs)
Expect(err).NotTo(HaveOccurred())
} else if r.Method == http.MethodGet {
case http.MethodGet:
_, err := w.Write([]byte("[]"))
Expect(err).NotTo(HaveOccurred())
}
@@ -276,7 +277,8 @@ var _ = Describe("NBRoutingPeer Controller", func() {
routerCreated := false
mux.HandleFunc("/api/networks/test/routers", func(w http.ResponseWriter, r *http.Request) {
defer GinkgoRecover()
if r.Method == http.MethodPost {
switch r.Method {
case http.MethodPost:
routerCreated = true
var req api.PostApiNetworksNetworkIdRoutersJSONRequestBody
bs, err := io.ReadAll(r.Body)
@@ -299,7 +301,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
Expect(err).NotTo(HaveOccurred())
_, err = w.Write(bs)
Expect(err).NotTo(HaveOccurred())
} else if r.Method == http.MethodGet {
case http.MethodGet:
resp := []api.NetworkRouter{}
bs, err := json.Marshal(resp)
Expect(err).NotTo(HaveOccurred())
@@ -555,7 +557,8 @@ var _ = Describe("NBRoutingPeer Controller", func() {
setupKeyDeleted := false
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
defer GinkgoRecover()
if r.Method == http.MethodGet {
switch r.Method {
case http.MethodGet:
resp := api.SetupKey{
Id: "skid",
Revoked: false,
@@ -564,7 +567,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
Expect(err).NotTo(HaveOccurred())
_, err = w.Write(bs)
Expect(err).NotTo(HaveOccurred())
} else if r.Method == http.MethodDelete {
case http.MethodDelete:
setupKeyDeleted = true
_, err := w.Write([]byte(`{}`))
Expect(err).NotTo(HaveOccurred())
@@ -628,7 +631,8 @@ var _ = Describe("NBRoutingPeer Controller", func() {
setupKeyDeleted := false
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
defer GinkgoRecover()
if r.Method == http.MethodGet {
switch r.Method {
case http.MethodGet:
resp := api.SetupKey{
Id: "skid",
Revoked: true,
@@ -637,7 +641,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
Expect(err).NotTo(HaveOccurred())
_, err = w.Write(bs)
Expect(err).NotTo(HaveOccurred())
} else if r.Method == http.MethodDelete {
case http.MethodDelete:
setupKeyDeleted = true
_, err := w.Write([]byte(`{}`))
Expect(err).NotTo(HaveOccurred())
@@ -712,11 +716,12 @@ var _ = Describe("NBRoutingPeer Controller", func() {
setupKeyDeleted := false
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
defer GinkgoRecover()
if r.Method == http.MethodGet {
switch r.Method {
case http.MethodGet:
w.WriteHeader(404)
_, err := w.Write([]byte(`{"message": "setup-key skid not found", "code": 404}`))
Expect(err).NotTo(HaveOccurred())
} else if r.Method == http.MethodDelete {
case http.MethodDelete:
setupKeyDeleted = true
_, err := w.Write([]byte(`{}`))
Expect(err).NotTo(HaveOccurred())
@@ -761,7 +766,8 @@ var _ = Describe("NBRoutingPeer Controller", func() {
setupKeyDeleted := false
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
defer GinkgoRecover()
if r.Method == http.MethodGet {
switch r.Method {
case http.MethodGet:
resp := api.SetupKey{
Id: "skid",
Revoked: false,
@@ -770,7 +776,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
Expect(err).NotTo(HaveOccurred())
_, err = w.Write(bs)
Expect(err).NotTo(HaveOccurred())
} else if r.Method == http.MethodDelete {
case http.MethodDelete:
setupKeyDeleted = true
_, err := w.Write([]byte(`{}`))
Expect(err).NotTo(HaveOccurred())
@@ -194,6 +194,7 @@ func (r *ServiceReconciler) exposeService(ctx context.Context, req ctrl.Request,
func (r *ServiceReconciler) reconcileNBResource(nbResource *netbirdiov1.NBResource, req ctrl.Request, svc corev1.Service, routingPeer netbirdiov1.NBRoutingPeer, logger logr.Logger) error {
groups := []string{fmt.Sprintf("%s-%s-%s", r.ClusterName, req.Namespace, req.Name)}
if v, ok := svc.Annotations[serviceGroupsAnnotation]; ok {
//nolint:prealloc
groups = nil
for _, g := range strings.Split(v, ",") {
groups = append(groups, strings.TrimSpace(g))
+2 -2
View File
@@ -22,7 +22,7 @@ import (
"os/exec"
"strings"
. "github.com/onsi/ginkgo/v2" //nolint:golint,revive
. "github.com/onsi/ginkgo/v2" //nolint:staticcheck
)
const (
@@ -169,6 +169,6 @@ func GetProjectDir() (string, error) {
if err != nil {
return wd, err
}
wd = strings.Replace(wd, "/test/e2e", "", -1)
wd = strings.ReplaceAll(wd, "/test/e2e", "")
return wd, nil
}