chore: Upgrade golangci-lint to v2

- Migrate the configuration file
- Update the tooling version and CI
- Apply auto-fixes

Signed-off-by: Kemal Akkoyun <kemal.akkoyun@datadoghq.com>
This commit is contained in:
Kemal Akkoyun 2025-04-03 15:55:12 +02:00
parent 38d32a3977
commit 9afcb7de39
No known key found for this signature in database
6 changed files with 48 additions and 32 deletions

View file

@ -33,7 +33,7 @@ jobs:
run: sudo apt-get update && sudo apt-get -y install libsnmp-dev run: sudo apt-get update && sudo apt-get -y install libsnmp-dev
if: github.repository == 'prometheus/snmp_exporter' if: github.repository == 'prometheus/snmp_exporter'
- name: Lint - name: Lint
uses: golangci/golangci-lint-action@55c2c1448f86e01eaae002a5a3a9624417608d84 # v6.5.2 uses: golangci/golangci-lint-action@1481404843c368bc19ca9406f87d6e0fc97bdcfd # v7.0.0
with: with:
args: --verbose args: --verbose
version: v1.64.6 version: v2.0.2

View file

@ -1,32 +1,47 @@
version: "2"
linters: linters:
enable: enable:
- depguard - depguard
- goimports
- misspell - misspell
- revive - revive
settings:
issues: depguard:
exclude-rules: rules:
- path: _test.go no_exec_policy:
linters: files:
- errcheck - '!$test'
deny:
linters-settings: - pkg: os/exec
depguard: desc: Using os/exec to run sub processes it not allowed by policy
errcheck:
exclude-functions:
- (net/http.ResponseWriter).Write
revive:
rules:
- name: unused-parameter
severity: warning
disabled: true
exclusions:
generated: lax
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
rules: rules:
no_exec_policy: - linters:
files: - errcheck
- "!$test" path: _test.go
deny: paths:
- pkg: "os/exec" - third_party$
desc: "Using os/exec to run sub processes it not allowed by policy" - builtin$
errcheck: - examples$
exclude-functions: formatters:
# Used in HTTP handlers, any error is handled by the server itself. enable:
- (net/http.ResponseWriter).Write - goimports
revive: exclusions:
rules: generated: lax
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unused-parameter paths:
- name: unused-parameter - third_party$
severity: warning - builtin$
disabled: true - examples$

View file

@ -61,7 +61,7 @@ PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_
SKIP_GOLANGCI_LINT := SKIP_GOLANGCI_LINT :=
GOLANGCI_LINT := GOLANGCI_LINT :=
GOLANGCI_LINT_OPTS ?= GOLANGCI_LINT_OPTS ?=
GOLANGCI_LINT_VERSION ?= v1.64.6 GOLANGCI_LINT_VERSION ?= v2.0.2
# golangci-lint only supports linux, darwin and windows platforms on i386/amd64/arm64. # golangci-lint only supports linux, darwin and windows platforms on i386/amd64/arm64.
# windows isn't included here because of the path separator being different. # windows isn't included here because of the path separator being different.
ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin)) ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin))

View file

@ -18,9 +18,10 @@
package collector package collector
import ( import (
"log/slog"
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
"golang.org/x/sys/unix" "golang.org/x/sys/unix"
"log/slog"
) )
type bootTimeCollector struct { type bootTimeCollector struct {

View file

@ -52,7 +52,7 @@ func (c *meminfoCollector) getMemInfo() (map[string]float64, error) {
&infoCount, &infoCount,
) )
if ret != C.KERN_SUCCESS { if ret != C.KERN_SUCCESS {
return nil, fmt.Errorf("Couldn't get memory statistics, host_statistics returned %d", ret) return nil, fmt.Errorf("couldn't get memory statistics, host_statistics returned %d", ret)
} }
totalb, err := unix.Sysctl("hw.memsize") totalb, err := unix.Sysctl("hw.memsize")
if err != nil { if err != nil {

View file

@ -112,7 +112,7 @@ func (h *handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
if err != nil { if err != nil {
h.logger.Warn("Couldn't create filtered metrics handler:", "err", err) h.logger.Warn("Couldn't create filtered metrics handler:", "err", err)
w.WriteHeader(http.StatusBadRequest) w.WriteHeader(http.StatusBadRequest)
w.Write([]byte(fmt.Sprintf("Couldn't create filtered metrics handler: %s", err))) fmt.Fprintf(w, "Couldn't create filtered metrics handler: %s", err)
return return
} }
filteredHandler.ServeHTTP(w, r) filteredHandler.ServeHTTP(w, r)