diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 5342cbe0..3893ef86 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -33,7 +33,7 @@ jobs: run: sudo apt-get update && sudo apt-get -y install libsnmp-dev if: github.repository == 'prometheus/snmp_exporter' - name: Lint - uses: golangci/golangci-lint-action@55c2c1448f86e01eaae002a5a3a9624417608d84 # v6.5.2 + uses: golangci/golangci-lint-action@1481404843c368bc19ca9406f87d6e0fc97bdcfd # v7.0.0 with: args: --verbose - version: v1.64.6 + version: v2.0.2 diff --git a/.golangci.yml b/.golangci.yml index 8731aefd..26d1f5ad 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,32 +1,48 @@ +version: "2" linters: enable: - depguard - - goimports - misspell - revive - -issues: - exclude-rules: - - path: _test.go - linters: - - errcheck - -linters-settings: - depguard: - rules: - no_exec_policy: - files: - - "!$test" - deny: - - pkg: "os/exec" - desc: "Using os/exec to run sub processes it not allowed by policy" - errcheck: - exclude-functions: + settings: + depguard: + rules: + no_exec_policy: + files: + - '!$test' + deny: + - pkg: os/exec + desc: Using os/exec to run sub processes it not allowed by policy + errcheck: # Used in HTTP handlers, any error is handled by the server itself. - - (net/http.ResponseWriter).Write - revive: + 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: - # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unused-parameter - - name: unused-parameter - severity: warning - disabled: true + - linters: + - errcheck + path: _test.go + paths: + - third_party$ + - builtin$ + - examples$ +formatters: + enable: + - goimports + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ diff --git a/Makefile.common b/Makefile.common index 8cb38385..81bad5f4 100644 --- a/Makefile.common +++ b/Makefile.common @@ -61,7 +61,7 @@ PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_ SKIP_GOLANGCI_LINT := GOLANGCI_LINT := 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. # windows isn't included here because of the path separator being different. ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin)) diff --git a/collector/boot_time_bsd.go b/collector/boot_time_bsd.go index d632fef0..49b4145c 100644 --- a/collector/boot_time_bsd.go +++ b/collector/boot_time_bsd.go @@ -18,9 +18,10 @@ package collector import ( + "log/slog" + "github.com/prometheus/client_golang/prometheus" "golang.org/x/sys/unix" - "log/slog" ) type bootTimeCollector struct { diff --git a/collector/cpu_linux.go b/collector/cpu_linux.go index 078a4611..671db8ba 100644 --- a/collector/cpu_linux.go +++ b/collector/cpu_linux.go @@ -89,7 +89,7 @@ func NewCPUCollector(logger *slog.Logger) (Collector, error) { if !os.IsNotExist(err) { return nil, fmt.Errorf("unable to get isolated cpus: %w", err) } - logger.Debug("Could not open isolated file", "error", err) + logger.Debug("couldn't open isolated file", "error", err) } c := &cpuCollector{ diff --git a/collector/perf_linux_test.go b/collector/perf_linux_test.go index 7560b0a0..1d39e8a9 100644 --- a/collector/perf_linux_test.go +++ b/collector/perf_linux_test.go @@ -36,7 +36,7 @@ func canTestPerf(t *testing.T) { paranoidStr := strings.ReplaceAll(string(paranoidBytes), "\n", "") paranoid, err := strconv.Atoi(paranoidStr) if err != nil { - t.Fatalf("Expected perf_event_paranoid to be an int, got: %s", paranoidStr) + t.Fatalf("expected perf_event_paranoid to be an int, got: %s", paranoidStr) } if paranoid >= 1 { t.Skip("Skipping perf tests, set perf_event_paranoid to 0")