Skip to content

Commit 7e411dd

Browse files
authored
Bump golangci-lint (#171)
1 parent f14495f commit 7e411dd

File tree

6 files changed

+80
-76
lines changed

6 files changed

+80
-76
lines changed

.github/workflows/golangci-lint.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ jobs:
1616
steps:
1717
- uses: actions/setup-go@v5
1818
with:
19-
go-version: 1.22.4
19+
go-version: 1.24.1
2020
- uses: actions/checkout@v4
2121
- name: golangci-lint
22-
uses: golangci/golangci-lint-action@v6
22+
uses: golangci/golangci-lint-action@v7.0.0
2323
with:
24-
version: latest
24+
version: v2.0

.golangci.yml

Lines changed: 68 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,87 @@
1-
# This file contains all available configuration options
2-
# with their default values.
3-
4-
# all available settings of specific linters
5-
linters-settings:
6-
dupl:
7-
threshold: 400
8-
funlen:
9-
lines: 150
10-
statements: 100
11-
gocritic:
12-
enabled-tags:
13-
- performance
14-
disabled-tags:
15-
- diagnostic
16-
- experimental
17-
- opinionated
18-
- style
19-
gocyclo:
20-
min-complexity: 25
21-
misspell:
22-
locale: US
23-
lll:
24-
line-length: 140
25-
revive:
26-
rules:
27-
- name: blank-imports
28-
- name: context-as-argument
29-
- name: context-keys-type
30-
- name: dot-imports
31-
# - name: increment-decrement
32-
- name: error-return
33-
- name: error-naming
34-
- name: exported
35-
- name: var-naming
36-
- name: var-declaration
37-
- name: package-comments
38-
- name: range
39-
- name: receiver-naming
40-
- name: time-naming
41-
- name: unexported-return
42-
# - name: indent-error-flow
43-
- name: errorf
44-
- name: empty-block
45-
- name: unreachable-code
46-
- name: redefines-builtin-id
47-
1+
version: "2"
2+
run:
3+
go: "1.22"
4+
modules-download-mode: mod
485
linters:
49-
disable-all: true
6+
default: none
507
enable:
518
- bodyclose
9+
- copyloopvar
5210
- dupl
5311
- errcheck
54-
- copyloopvar
5512
- funlen
5613
- gocritic
5714
- gocyclo
58-
- gofmt
59-
- goimports
6015
- govet
6116
- ineffassign
6217
- misspell
6318
- nakedret
6419
- revive
6520
- staticcheck
66-
- typecheck
6721
- unconvert
6822
- unparam
6923
- unused
70-
# - lll
71-
- stylecheck
72-
- gosimple
7324
- whitespace
74-
75-
run:
76-
go: "1.22"
77-
timeout: 5m
78-
modules-download-mode: mod
79-
25+
settings:
26+
dupl:
27+
threshold: 400
28+
funlen:
29+
lines: 150
30+
statements: 100
31+
gocritic:
32+
enabled-tags:
33+
- performance
34+
disabled-tags:
35+
- diagnostic
36+
- experimental
37+
- opinionated
38+
- style
39+
gocyclo:
40+
min-complexity: 25
41+
lll:
42+
line-length: 140
43+
misspell:
44+
locale: US
45+
revive:
46+
rules:
47+
- name: blank-imports
48+
- name: context-as-argument
49+
- name: context-keys-type
50+
- name: dot-imports
51+
- name: error-return
52+
- name: error-naming
53+
- name: exported
54+
- name: var-naming
55+
- name: var-declaration
56+
- name: package-comments
57+
- name: range
58+
- name: receiver-naming
59+
- name: time-naming
60+
- name: unexported-return
61+
- name: errorf
62+
- name: empty-block
63+
- name: unreachable-code
64+
- name: redefines-builtin-id
65+
exclusions:
66+
generated: lax
67+
presets:
68+
- comments
69+
- common-false-positives
70+
- legacy
71+
- std-error-handling
72+
paths:
73+
- third_party$
74+
- builtin$
75+
- examples$
8076
severity:
81-
default-severity: error
77+
default: error
78+
formatters:
79+
enable:
80+
- gofmt
81+
- goimports
82+
exclusions:
83+
generated: lax
84+
paths:
85+
- third_party$
86+
- builtin$
87+
- examples$

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ format:
66
goimports -w `find . -name '*.go'`
77

88
lint:
9-
docker run --rm -v ${CURDIR}:/app -w /app golangci/golangci-lint:v1.60 golangci-lint run -v
9+
docker run --rm -v ${CURDIR}:/app -w /app golangci/golangci-lint:v2.0-alpine golangci-lint run -v
1010

1111
unittests:
1212
go test ./cmd/... ./internal/...

internal/app/app.go

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,7 @@ func (app *App) stateLost() appState {
518518
err = node.SetReadOnlyWithForce(app.config.ExcludeUsers, true)
519519

520520
merr, ok := err.(*mysql_driver.MySQLError)
521-
if !(errors.Is(err, context.DeadlineExceeded) || ok && merr.Number == 1205) { // Error 1205: Lock wait timeout exceeded; try restarting transaction
521+
if !errors.Is(err, context.DeadlineExceeded) && (!ok || merr.Number != 1205) { // Error 1205: Lock wait timeout exceeded; try restarting transaction
522522
app.logger.Errorf("failed to set node %s read-only: %v", node.Host(), err)
523523
return stateLost
524524
}
@@ -875,10 +875,7 @@ func (app *App) approveFailover(clusterState, clusterStateDcs map[string]*NodeSt
875875
if !app.config.Failover {
876876
return fmt.Errorf("auto_failover is disabled in config")
877877
}
878-
afterCrashRecovery := false
879-
if clusterStateDcs[master].DaemonState != nil && clusterStateDcs[master].DaemonState.CrashRecovery && app.config.ResetupCrashedHosts {
880-
afterCrashRecovery = true
881-
}
878+
afterCrashRecovery := clusterStateDcs[master].DaemonState != nil && clusterStateDcs[master].DaemonState.CrashRecovery && app.config.ResetupCrashedHosts
882879
if afterCrashRecovery {
883880
app.logger.Infof("approve failover: after crash recovery, skip replication and delay checks")
884881
} else if clusterStateDcs[master].IsFileSystemReadonly {
@@ -1976,7 +1973,7 @@ func (app *App) repairCascadeNode(node *mysql.Node, clusterState map[string]*Nod
19761973
return
19771974
}
19781975

1979-
if !isReplicationRunning && (upstreamLostAt == time.Time{}) {
1976+
if !isReplicationRunning && upstreamLostAt.IsZero() {
19801977
app.logger.Warnf("repair: replication from stream_from host `%s` stopped. Schedule switch to new stream_from", upstreamMaster)
19811978
upstreamLostAt = time.Now()
19821979
app.streamFromFailedAt[host] = upstreamLostAt

internal/app/cli.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -468,13 +468,14 @@ func (app *App) CliGetMaintenance() int {
468468
app.dcs.Initialize()
469469

470470
err = app.dcs.Get(pathMaintenance, new(Maintenance))
471-
if err == nil {
471+
switch err {
472+
case nil:
472473
fmt.Println("on")
473474
return 0
474-
} else if err == dcs.ErrNotFound {
475+
case dcs.ErrNotFound:
475476
fmt.Println("off")
476477
return 0
477-
} else {
478+
default:
478479
app.logger.Error(err.Error())
479480
return 1
480481
}

tests/mysync_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1412,7 +1412,7 @@ func InitializeScenario(s *godog.ScenarioContext) {
14121412
s.After(func(ctx context.Context, scenario *godog.Scenario, err error) (context.Context, error) {
14131413
if err != nil {
14141414
name := scenario.Name
1415-
name = strings.Replace(name, " ", "_", -1)
1415+
name = strings.ReplaceAll(name, " ", "_")
14161416
err2 := tctx.saveLogs(name)
14171417
if err2 != nil {
14181418
log.Printf("failed to save logs: %v", err2)

0 commit comments

Comments
 (0)