Skip to content

Commit 0b49e9d

Browse files
committed
Upgrade golangci-linter to v2
Signed-off-by: SungJin1212 <[email protected]>
1 parent 77f0c30 commit 0b49e9d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+194
-183
lines changed

.errcheck-exclude

-6
This file was deleted.

.golangci.yml

+49-40
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,6 @@
1-
output:
2-
format: line-number
3-
4-
linters:
5-
enable:
6-
- goimports
7-
- revive
8-
- gofmt
9-
- misspell
10-
- depguard
11-
- sloglint
12-
- unused
13-
14-
linters-settings:
15-
staticcheck:
16-
checks:
17-
- all
18-
errcheck:
19-
# path to a file containing a list of functions to exclude from checking
20-
# see https://github.com/kisielk/errcheck#excluding-functions for details
21-
exclude: ./.errcheck-exclude
22-
goimports:
23-
local-prefixes: "github.com/cortexproject/cortex"
24-
revive:
25-
severity: error # We only want critical issues.
26-
govet:
27-
disable:
28-
- printf
29-
30-
depguard:
31-
rules:
32-
main:
33-
list-mode: lax
34-
files:
35-
- $all
36-
deny:
37-
- pkg: "github.com/go-kit/kit/log"
38-
desc: Use github.com/go-kit/log instead of github.com/go-kit/kit/log"
39-
1+
version: "2"
402
run:
413
timeout: 5m
42-
434
# List of build tags, all linters use it.
445
build-tags:
456
- netgo
@@ -51,3 +12,51 @@ run:
5112
- integration_querier
5213
- integration_ruler
5314
- integration_query_fuzz
15+
output:
16+
formats:
17+
text:
18+
path: stdout
19+
colors: false
20+
linters:
21+
enable:
22+
- depguard
23+
- misspell
24+
- revive
25+
- sloglint
26+
settings:
27+
depguard:
28+
rules:
29+
main:
30+
list-mode: lax
31+
files:
32+
- $all
33+
deny:
34+
- pkg: github.com/go-kit/kit/log
35+
desc: Use github.com/go-kit/log instead of github.com/go-kit/kit/log"
36+
errcheck:
37+
exclude-functions:
38+
- io/ioutil.WriteFile
39+
- io/ioutil.ReadFile
40+
- io.Copy
41+
- (github.com/go-kit/log.Logger).Log
42+
- (*github.com/cortexproject/cortex/pkg/util/spanlogger.SpanLogger).Error
43+
- (github.com/opentracing/opentracing-go.Tracer).Inject
44+
govet:
45+
disable:
46+
- printf
47+
revive:
48+
severity: error
49+
exclusions:
50+
presets:
51+
- comments
52+
- common-false-positives
53+
- legacy
54+
- std-error-handling
55+
formatters:
56+
enable:
57+
- gofmt
58+
- goimports
59+
settings:
60+
goimports:
61+
local-prefixes:
62+
- github.com/cortexproject/cortex

integration/e2e/service.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -427,9 +427,10 @@ func NewHTTPReadinessProbe(port int, path string, expectedStatusRangeStart, expe
427427

428428
func (p *HTTPReadinessProbe) Ready(service *ConcreteService) (err error) {
429429
endpoint := service.Endpoint(p.port)
430-
if endpoint == "" {
430+
switch endpoint {
431+
case "":
431432
return fmt.Errorf("cannot get service endpoint for port %d", p.port)
432-
} else if endpoint == "stopped" {
433+
case "stopped":
433434
return errors.New("service has stopped")
434435
}
435436

@@ -467,9 +468,10 @@ func NewTCPReadinessProbe(port int) *TCPReadinessProbe {
467468

468469
func (p *TCPReadinessProbe) Ready(service *ConcreteService) (err error) {
469470
endpoint := service.Endpoint(p.port)
470-
if endpoint == "" {
471+
switch endpoint {
472+
case "":
471473
return fmt.Errorf("cannot get service endpoint for port %d", p.port)
472-
} else if endpoint == "stopped" {
474+
case "stopped":
473475
return errors.New("service has stopped")
474476
}
475477

integration/e2ecortex/services.go

+12-8
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,10 @@ func NewDistributorWithConfigFile(name string, store RingStore, address, configF
4242

4343
// Configure the ingesters ring backend
4444
flags["-ring.store"] = string(store)
45-
if store == RingStoreConsul {
45+
switch store {
46+
case RingStoreConsul:
4647
flags["-consul.hostname"] = address
47-
} else if store == RingStoreEtcd {
48+
case RingStoreEtcd:
4849
flags["-etcd.endpoints"] = address
4950
}
5051

@@ -82,10 +83,11 @@ func NewQuerierWithConfigFile(name string, store RingStore, address, configFile
8283
"-store-gateway.sharding-ring.store": string(store),
8384
}
8485

85-
if store == RingStoreConsul {
86+
switch store {
87+
case RingStoreConsul:
8688
ringBackendFlags["-consul.hostname"] = address
8789
ringBackendFlags["-store-gateway.sharding-ring.consul.hostname"] = address
88-
} else if store == RingStoreEtcd {
90+
case RingStoreEtcd:
8991
ringBackendFlags["-etcd.endpoints"] = address
9092
ringBackendFlags["-store-gateway.sharding-ring.etcd.endpoints"] = address
9193
}
@@ -130,10 +132,11 @@ func NewStoreGatewayWithConfigFile(name string, store RingStore, address string,
130132
flags["-config.file"] = filepath.Join(e2e.ContainerSharedDir, configFile)
131133
}
132134

133-
if store == RingStoreConsul {
135+
switch store {
136+
case RingStoreConsul:
134137
flags["-consul.hostname"] = address
135138
flags["-store-gateway.sharding-ring.consul.hostname"] = address
136-
} else if store == RingStoreEtcd {
139+
case RingStoreEtcd:
137140
flags["-etcd.endpoints"] = address
138141
flags["-store-gateway.sharding-ring.etcd.endpoints"] = address
139142
}
@@ -173,9 +176,10 @@ func NewIngesterWithConfigFile(name string, store RingStore, address, configFile
173176

174177
// Configure the ingesters ring backend
175178
flags["-ring.store"] = string(store)
176-
if store == RingStoreConsul {
179+
switch store {
180+
case RingStoreConsul:
177181
flags["-consul.hostname"] = address
178-
} else if store == RingStoreEtcd {
182+
case RingStoreEtcd:
179183
flags["-etcd.endpoints"] = address
180184
}
181185

integration/querier_tenant_federation_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ func mergeResults(tenantIDs []string, resultsPerTenant []model.Vector) model.Vec
171171
var v model.Vector
172172
for pos, tenantID := range tenantIDs {
173173
for _, r := range resultsPerTenant[pos] {
174-
var s model.Sample = *r
174+
var s = *r
175175
s.Metric = r.Metric.Clone()
176176
s.Metric[model.LabelName("__tenant_id__")] = model.LabelValue(tenantID)
177177
v = append(v, &s)

integration/querier_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -433,9 +433,10 @@ func TestQuerierWithBlocksStorageRunningInSingleBinaryMode(t *testing.T) {
433433
require.NoError(t, writeFileToSharedDir(s, "alertmanager_configs/user-1.yaml", []byte(cortexAlertmanagerUserConfigYaml)))
434434

435435
// Add the cache address to the flags.
436-
if testCfg.indexCacheBackend == tsdb.IndexCacheBackendMemcached {
436+
switch testCfg.indexCacheBackend {
437+
case tsdb.IndexCacheBackendMemcached:
437438
flags["-blocks-storage.bucket-store.index-cache.memcached.addresses"] = "dns+" + memcached.NetworkEndpoint(e2ecache.MemcachedPort)
438-
} else if testCfg.indexCacheBackend == tsdb.IndexCacheBackendRedis {
439+
case tsdb.IndexCacheBackendRedis:
439440
flags["-blocks-storage.bucket-store.index-cache.redis.addresses"] = redis.NetworkEndpoint(e2ecache.RedisPort)
440441
}
441442

integration/query_fuzz_test.go

+12-9
Original file line numberDiff line numberDiff line change
@@ -758,11 +758,12 @@ func TestVerticalShardingFuzz(t *testing.T) {
758758
// Generate another set of series for testing binary expression and vector matching.
759759
for i := numSeries; i < 2*numSeries; i++ {
760760
prompbLabels := []prompb.Label{{Name: "job", Value: "test"}, {Name: "series", Value: strconv.Itoa(i)}}
761-
if i%3 == 0 {
761+
switch i % 3 {
762+
case 0:
762763
prompbLabels = append(prompbLabels, prompb.Label{Name: "status_code", Value: "200"})
763-
} else if i%3 == 1 {
764+
case 1:
764765
prompbLabels = append(prompbLabels, prompb.Label{Name: "status_code", Value: "400"})
765-
} else {
766+
default:
766767
prompbLabels = append(prompbLabels, prompb.Label{Name: "status_code", Value: "500"})
767768
}
768769
series := e2e.GenerateSeriesWithSamples("test_series_b", start, scrapeInterval, i*numSamples, numSamples, prompbLabels...)
@@ -874,11 +875,12 @@ func TestProtobufCodecFuzz(t *testing.T) {
874875
// Generate another set of series for testing binary expression and vector matching.
875876
for i := numSeries; i < 2*numSeries; i++ {
876877
prompbLabels := []prompb.Label{{Name: "job", Value: "test"}, {Name: "series", Value: strconv.Itoa(i)}}
877-
if i%3 == 0 {
878+
switch i % 3 {
879+
case 0:
878880
prompbLabels = append(prompbLabels, prompb.Label{Name: "status_code", Value: "200"})
879-
} else if i%3 == 1 {
881+
case 1:
880882
prompbLabels = append(prompbLabels, prompb.Label{Name: "status_code", Value: "400"})
881-
} else {
883+
default:
882884
prompbLabels = append(prompbLabels, prompb.Label{Name: "status_code", Value: "500"})
883885
}
884886
series := e2e.GenerateSeriesWithSamples("test_series_b", start, scrapeInterval, i*numSamples, numSamples, prompbLabels...)
@@ -1532,11 +1534,12 @@ func TestBackwardCompatibilityQueryFuzz(t *testing.T) {
15321534
// Generate another set of series for testing binary expression and vector matching.
15331535
for i := numSeries; i < 2*numSeries; i++ {
15341536
prompbLabels := []prompb.Label{{Name: "job", Value: "test"}, {Name: "series", Value: strconv.Itoa(i)}}
1535-
if i%3 == 0 {
1537+
switch i % 3 {
1538+
case 0:
15361539
prompbLabels = append(prompbLabels, prompb.Label{Name: "status_code", Value: "200"})
1537-
} else if i%3 == 1 {
1540+
case 1:
15381541
prompbLabels = append(prompbLabels, prompb.Label{Name: "status_code", Value: "400"})
1539-
} else {
1542+
default:
15401543
prompbLabels = append(prompbLabels, prompb.Label{Name: "status_code", Value: "500"})
15411544
}
15421545
series := e2e.GenerateSeriesWithSamples("test_series_b", start, scrapeInterval, i*numSamples, numSamples, prompbLabels...)

pkg/alertmanager/api.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,10 @@ func (am *MultitenantAlertmanager) GetUserConfig(w http.ResponseWriter, r *http.
7676

7777
cfg, err := am.store.GetAlertConfig(r.Context(), userID)
7878
if err != nil {
79-
switch {
80-
case err == alertspb.ErrNotFound:
79+
switch err {
80+
case alertspb.ErrNotFound:
8181
http.Error(w, err.Error(), http.StatusNotFound)
82-
case err == alertspb.ErrAccessDenied:
82+
case alertspb.ErrAccessDenied:
8383
http.Error(w, err.Error(), http.StatusForbidden)
8484
default:
8585
http.Error(w, err.Error(), http.StatusInternalServerError)

pkg/alertmanager/multitenant_test.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -610,10 +610,8 @@ receivers:
610610
// Ensure the server endpoint has not been called if firewall is enabled. Since the alert is delivered
611611
// asynchronously, we should pool it for a short period.
612612
deadline := time.Now().Add(3 * time.Second)
613-
for {
614-
if time.Now().After(deadline) || serverInvoked.Load() {
615-
break
616-
}
613+
for !time.Now().After(deadline) && !serverInvoked.Load() {
614+
617615
time.Sleep(100 * time.Millisecond)
618616
}
619617

pkg/alertmanager/rate_limited_notifier_test.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,13 @@ func runNotifications(t *testing.T, rateLimitedNotifier *rateLimitedNotifier, co
4747
for i := 0; i < count; i++ {
4848
retry, err := rateLimitedNotifier.Notify(context.Background(), &types.Alert{})
4949

50-
if err == nil {
50+
switch err {
51+
case nil:
5152
success++
52-
} else if err == errRateLimited {
53+
case errRateLimited:
5354
rateLimited++
5455
assert.False(t, retry)
55-
} else {
56+
default:
5657
assert.NotNil(t, err)
5758
}
5859
}

pkg/alertmanager/state_persister_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ func TestStatePersister_Position0ShouldWrite(t *testing.T) {
105105
{
106106
time.Sleep(5 * time.Second)
107107

108-
assert.Equal(t, services.Starting, s.Service.State())
108+
assert.Equal(t, services.Starting, s.State())
109109
assert.Equal(t, 0, len(store.getWrites()))
110110
}
111111

@@ -139,13 +139,13 @@ func TestStatePersister_Position1ShouldNotWrite(t *testing.T) {
139139

140140
// Start the persister.
141141
{
142-
require.Equal(t, services.Starting, s.Service.State())
142+
require.Equal(t, services.Starting, s.State())
143143

144144
state.getResult = makeTestFullState()
145145
close(state.readyc)
146146

147147
require.NoError(t, s.AwaitRunning(context.Background()))
148-
require.Equal(t, services.Running, s.Service.State())
148+
require.Equal(t, services.Running, s.State())
149149
}
150150

151151
// Should not have stored anything, having passed the interval multiple times.

pkg/alertmanager/state_replication.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -254,11 +254,11 @@ func (s *state) starting(ctx context.Context) error {
254254

255255
// WaitReady is needed for the pipeline builder to know whenever we've settled and the state is up to date.
256256
func (s *state) WaitReady(ctx context.Context) error {
257-
return s.Service.AwaitRunning(ctx)
257+
return s.AwaitRunning(ctx)
258258
}
259259

260260
func (s *state) Ready() bool {
261-
return s.Service.State() == services.Running
261+
return s.State() == services.Running
262262
}
263263

264264
// mergeFullStates attempts to merge all full states received from peers during settling.

pkg/chunk/cache/memcached_client.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ func NewMemcachedClient(cfg MemcachedClientConfig, name string, r prometheus.Reg
141141
}),
142142
}
143143
if cfg.CBFailures > 0 {
144-
newClient.Client.DialContext = newClient.dialViaCircuitBreaker
144+
newClient.DialContext = newClient.dialViaCircuitBreaker
145145
}
146146

147147
if len(cfg.Addresses) > 0 {

0 commit comments

Comments
 (0)