Skip to content

chore: Upgrade golangci-lint to v2 #3303

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/golangci-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
66 changes: 41 additions & 25 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -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$
2 changes: 1 addition & 1 deletion Makefile.common
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down
3 changes: 2 additions & 1 deletion collector/boot_time_bsd.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion collector/btrfs_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func (c *btrfsCollector) Update(ch chan<- prometheus.Metric) error {

for _, s := range stats {
// match up procfs and ioctl info by filesystem UUID (without dashes)
var fsUUID = strings.Replace(s.UUID, "-", "", -1)
var fsUUID = strings.ReplaceAll(s.UUID, "-", "")
ioctlStats := ioctlStatsMap[fsUUID]
c.updateBtrfsStats(ch, s, ioctlStats)
}
Expand Down
4 changes: 2 additions & 2 deletions collector/cpu_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@ func NewCPUCollector(logger *slog.Logger) (Collector, error) {
isolcpus, err := sfs.IsolatedCPUs()
if err != nil {
if !os.IsNotExist(err) {
return nil, fmt.Errorf("Unable to get isolated cpus: %w", err)
return nil, fmt.Errorf("couldn't 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{
Expand Down
10 changes: 6 additions & 4 deletions collector/ethtool_linux_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -212,16 +212,18 @@ func (e *EthtoolFixture) LinkInfo(intf string) (ethtool.EthtoolCmd, error) {

items := strings.Split(line, ": ")
if items[0] == "Supported pause frame use" {
if items[1] == "Symmetric" {
switch items[1] {
case "Symmetric":
res.Supported |= (1 << unix.ETHTOOL_LINK_MODE_Pause_BIT)
} else if items[1] == "Receive-only" {
case "Receive-only":
res.Supported |= (1 << unix.ETHTOOL_LINK_MODE_Asym_Pause_BIT)
}
}
if items[0] == "Advertised pause frame use" {
if items[1] == "Symmetric" {
switch items[1] {
case "Symmetric":
res.Advertising |= (1 << unix.ETHTOOL_LINK_MODE_Pause_BIT)
} else if items[1] == "Receive-only" {
case "Receive-only":
res.Advertising |= (1 << unix.ETHTOOL_LINK_MODE_Asym_Pause_BIT)
}
}
Expand Down
4 changes: 2 additions & 2 deletions collector/filesystem_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -215,8 +215,8 @@ func parseFilesystemLabels(r io.Reader) ([]filesystemLabels, error) {

// Ensure we handle the translation of \040 and \011
// as per fstab(5).
parts[4] = strings.Replace(parts[4], "\\040", " ", -1)
parts[4] = strings.Replace(parts[4], "\\011", "\t", -1)
parts[4] = strings.ReplaceAll(parts[4], "\\040", " ")
parts[4] = strings.ReplaceAll(parts[4], "\\011", "\t")

filesystems = append(filesystems, filesystemLabels{
device: parts[m+3],
Expand Down
2 changes: 1 addition & 1 deletion collector/meminfo_darwin.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ func (c *meminfoCollector) getMemInfo() (map[string]float64, error) {
&infoCount,
)
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")
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion collector/meminfo_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ func NewMeminfoCollector(logger *slog.Logger) (Collector, error) {
func (c *meminfoCollector) getMemInfo() (map[string]float64, error) {
meminfo, err := c.fs.Meminfo()
if err != nil {
return nil, fmt.Errorf("Failed to get memory info: %s", err)
return nil, fmt.Errorf("failed to get memory info: %s", err)
}

metrics := make(map[string]float64)
Expand Down
4 changes: 2 additions & 2 deletions collector/perf_linux_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@ func canTestPerf(t *testing.T) {
if err != nil {
t.Skip("Procfs not mounted, skipping perf tests")
}
paranoidStr := strings.Replace(string(paranoidBytes), "\n", "", -1)
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")
Expand Down
7 changes: 4 additions & 3 deletions collector/systemd_linux_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,11 +122,12 @@ func TestSystemdSummary(t *testing.T) {
summary := summarizeUnits(fixtures[0])

for _, state := range unitStatesName {
if state == "inactive" {
switch state {
case "inactive":
testSummaryHelper(t, state, summary[state], 3.0)
} else if state == "active" {
case "active":
testSummaryHelper(t, state, summary[state], 1.0)
} else {
default:
testSummaryHelper(t, state, summary[state], 0.0)
}
}
Expand Down
2 changes: 1 addition & 1 deletion collector/zfs_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -435,5 +435,5 @@ type zfsSysctl string

func (s zfsSysctl) metricName() string {
parts := strings.Split(string(s), ".")
return strings.Replace(parts[len(parts)-1], "-", "_", -1)
return strings.ReplaceAll(parts[len(parts)-1], "-", "_")
}
2 changes: 1 addition & 1 deletion node_exporter.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ func (h *handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
if err != nil {
h.logger.Warn("Couldn't create filtered metrics handler:", "err", err)
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
}
filteredHandler.ServeHTTP(w, r)
Expand Down
Loading