Skip to content

Commit 438a79f

Browse files
committed
Add dependabot config and update CI
1 parent 35b2b46 commit 438a79f

22 files changed

Lines changed: 398 additions & 299 deletions

.github/dependabot.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "gomod"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"
7+
commit-message:
8+
prefix: "deps"
9+
include: "scope"
10+
11+
- package-ecosystem: "github-actions"
12+
directory: "/"
13+
schedule:
14+
interval: "weekly"

.github/workflows/ci-go-tests.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: ci-go-tests
2+
3+
on:
4+
pull_request:
5+
types:
6+
- opened
7+
- reopened
8+
- synchronize
9+
- ready_for_review
10+
branches:
11+
- main
12+
13+
jobs:
14+
ci-go-tests:
15+
if: github.event.pull_request.draft == false
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Setup Go 1.23.x
21+
uses: actions/setup-go@v5
22+
with:
23+
go-version: "1.23"
24+
cache-dependency-path: go.sum
25+
26+
- name: golangci-lint
27+
uses: golangci/golangci-lint-action@v8.0.0
28+
29+
- name: Run Unit Tests
30+
run: go test -race -v ./...

.github/workflows/golangci-lint.yml

Lines changed: 0 additions & 20 deletions
This file was deleted.

.golangci.yaml

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
version: "2"
2+
linters:
3+
default: none
4+
enable:
5+
- asasalint
6+
- asciicheck
7+
- bidichk
8+
- bodyclose
9+
- canonicalheader
10+
- containedctx
11+
- copyloopvar
12+
- decorder
13+
- dogsled
14+
# - dupl
15+
- dupword
16+
- durationcheck
17+
- errcheck
18+
- errchkjson
19+
- errname
20+
- exhaustive
21+
- exptostd
22+
- fatcontext
23+
- ginkgolinter
24+
- gocheckcompilerdirectives
25+
- gochecknoinits
26+
- gochecksumtype
27+
# - gocognit
28+
- goconst
29+
- gocritic
30+
# - gocyclo
31+
# - godot
32+
- godox
33+
- goheader
34+
- gomoddirectives
35+
- gomodguard
36+
- goprintffuncname
37+
# - gosec
38+
- gosmopolitan
39+
- govet
40+
- grouper
41+
- iface
42+
- importas
43+
- inamedparam
44+
- ineffassign
45+
- interfacebloat
46+
- intrange
47+
- ireturn
48+
- lll
49+
- loggercheck
50+
# - maintidx
51+
- makezero
52+
- mirror
53+
- misspell
54+
- musttag
55+
- nakedret
56+
- nilerr
57+
- nilnesserr
58+
- nilnil
59+
- nolintlint
60+
- nonamedreturns
61+
- nosprintfhostport
62+
- paralleltest
63+
- perfsprint
64+
- prealloc
65+
- predeclared
66+
- promlinter
67+
- protogetter
68+
- reassign
69+
- recvcheck
70+
- revive
71+
- rowserrcheck
72+
- sloglint
73+
- spancheck
74+
- sqlclosecheck
75+
- staticcheck
76+
- tagalign
77+
- testableexamples
78+
- testifylint
79+
- thelper
80+
- tparallel
81+
- unconvert
82+
- unparam
83+
- unused
84+
- usestdlibvars
85+
- usetesting
86+
- wastedassign
87+
- zerologlint
88+
settings:
89+
lll:
90+
line-length: 120
91+
exclusions:
92+
generated: lax
93+
presets:
94+
- comments
95+
- common-false-positives
96+
- legacy
97+
- std-error-handling
98+
paths:
99+
- third_party$
100+
- builtin$
101+
- examples$
102+
formatters:
103+
enable:
104+
- gofmt
105+
- goimports
106+
exclusions:
107+
generated: lax
108+
paths:
109+
- third_party$
110+
- builtin$
111+
- examples$

.travis.yml

Lines changed: 0 additions & 14 deletions
This file was deleted.

arena_test.go

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,18 @@ import (
1010
)
1111

1212
func TestNewArenaNoDir(t *testing.T) {
13+
t.Parallel()
14+
1315
aa, err := newArena(fmt.Sprintf("%d/temp.dat", time.Now().UnixNano()), 100)
1416
if aa != nil || err == nil || os.IsExist(err) {
1517
t.Fatalf("unexpected return for newArena :: %v", err)
1618
}
1719
}
1820

1921
func TestNewArenaNoReadPerm(t *testing.T) {
20-
fileName := path.Join(os.TempDir(), "temp.dat")
22+
t.Parallel()
23+
24+
fileName := path.Join(os.TempDir(), fmt.Sprintf("%d-temp.dat", time.Now().UnixNano()))
2125
defer func() {
2226
if err := os.Remove(fileName); err != nil {
2327
t.Fatalf("error in deleting file: %v :: %v", fileName, err)
@@ -35,8 +39,10 @@ func TestNewArenaNoReadPerm(t *testing.T) {
3539
}
3640

3741
func TestNewArenaNoFile(t *testing.T) {
42+
t.Parallel()
43+
3844
arenaSize := 100
39-
fileName := path.Join(os.TempDir(), "temp.dat")
45+
fileName := path.Join(os.TempDir(), fmt.Sprintf("%d-temp.dat", time.Now().UnixNano()))
4046
defer func() {
4147
if err := os.Remove(fileName); err != nil {
4248
t.Fatalf("error in deleting file: %v :: %v", fileName, err)
@@ -65,8 +71,10 @@ func TestNewArenaNoFile(t *testing.T) {
6571
}
6672

6773
func TestNewArenaLargerFile(t *testing.T) {
74+
t.Parallel()
75+
6876
arenaSize := 100
69-
fileName := path.Join(os.TempDir(), "temp.dat")
77+
fileName := path.Join(os.TempDir(), fmt.Sprintf("%d-temp.dat", time.Now().UnixNano()))
7078
defer func() {
7179
if err := os.Remove(fileName); err != nil {
7280
t.Fatalf("error in deleting file: %v :: %v", fileName, err)
@@ -104,6 +112,8 @@ func TestNewArenaLargerFile(t *testing.T) {
104112
}
105113

106114
func TestNewArenaNoFolder(t *testing.T) {
115+
t.Parallel()
116+
107117
arenaSize := 100
108118
aa, err := newArena("1/2/3/4/5/6/aa.dat", arenaSize)
109119
if !os.IsNotExist(errors.Unwrap(err)) || aa != nil {

arenamanager.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ const (
1515

1616
// arenaManager manages all the arenas for a bigqueue
1717
type arenaManager struct {
18-
dir string
19-
conf *bqConfig
20-
md *metadata
21-
baseAid int
22-
arenas []*mmap.File
23-
inMem int
24-
fullPath []byte
18+
dir string
19+
conf *bqConfig
20+
md *metadata
21+
baseAid int
22+
arenas []*mmap.File
23+
inMem int
24+
fullPath []byte
2525
}
2626

2727
// newArenaManager returns a pointer to new arenaManager.

benchmarks_test.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ func getBenchParams() []benchParam {
5151
}
5252

5353
func createBenchDir(b *testing.B, dir string) {
54+
b.Helper()
5455
if _, err := os.Stat(dir); os.IsNotExist(err) {
5556
if err := os.Mkdir(dir, 0744); err != nil {
5657
b.Fatalf("unable to create dir for benchmark: %v", err)
@@ -59,6 +60,7 @@ func createBenchDir(b *testing.B, dir string) {
5960
}
6061

6162
func removeBenchDir(b *testing.B, dir string) {
63+
b.Helper()
6264
if err := os.RemoveAll(dir); err != nil {
6365
b.Fatalf("unable to delete dir for benchmark: %v", err)
6466
}
@@ -72,10 +74,10 @@ func BenchmarkNewMmapQueue(b *testing.B) {
7274
}
7375
prevValue = param.arenaSize
7476

75-
b.Run(fmt.Sprintf("ArenaSize-%s", param.arenaSizeString), func(b *testing.B) {
77+
b.Run(fmt.Sprintf("ArenaSize-%v", param.arenaSizeString), func(b *testing.B) {
7678
b.ReportAllocs()
7779
b.StopTimer()
78-
for i := 0; i < b.N; i++ {
80+
for range b.N {
7981
dir := path.Join(os.TempDir(), "testdir")
8082
createBenchDir(b, path.Join(os.TempDir(), "testdir"))
8183

@@ -112,7 +114,7 @@ func BenchmarkEnqueue(b *testing.B) {
112114

113115
b.ReportAllocs()
114116
b.ResetTimer()
115-
for i := 0; i < b.N; i++ {
117+
for range b.N {
116118
if err := bq.Enqueue(param.message); err != nil {
117119
b.Fatalf("unable to enqueue: %v", err)
118120
}
@@ -144,7 +146,7 @@ func BenchmarkEnqueueString(b *testing.B) {
144146
message := string(param.message)
145147
b.ReportAllocs()
146148
b.ResetTimer()
147-
for i := 0; i < b.N; i++ {
149+
for range b.N {
148150
if err := bq.EnqueueString(message); err != nil {
149151
b.Fatalf("unable to enqueue: %v", err)
150152
}
@@ -173,15 +175,15 @@ func BenchmarkDequeue(b *testing.B) {
173175
b.Fatalf("unable to create bigqueue: %v", err)
174176
}
175177

176-
for i := 0; i < b.N; i++ {
178+
for range b.N {
177179
if err := bq.Enqueue(param.message); err != nil {
178180
b.Fatalf("unable to enqueue: %v", err)
179181
}
180182
}
181183

182184
b.ReportAllocs()
183185
b.ResetTimer()
184-
for i := 0; i < b.N; i++ {
186+
for range b.N {
185187
if _, err := bq.Dequeue(); err != nil {
186188
b.Fatalf("unable to dequeue: %v", err)
187189
}
@@ -211,15 +213,15 @@ func BenchmarkDequeueString(b *testing.B) {
211213
}
212214

213215
message := string(param.message)
214-
for i := 0; i < b.N; i++ {
216+
for range b.N {
215217
if err := bq.EnqueueString(message); err != nil {
216218
b.Fatalf("unable to enqueue: %v", err)
217219
}
218220
}
219221

220222
b.ReportAllocs()
221223
b.ResetTimer()
222-
for i := 0; i < b.N; i++ {
224+
for range b.N {
223225
if _, err := bq.DequeueString(); err != nil {
224226
b.Fatalf("unable to dequeue: %v", err)
225227
}
@@ -245,7 +247,7 @@ func BenchmarkStringDoubleCopy(b *testing.B) {
245247
}
246248

247249
data := "abcdefghijk"
248-
for i := 0; i < b.N; i++ {
250+
for range b.N {
249251
if err := bq.Enqueue([]byte(data)); err != nil {
250252
b.Fatalf("error in enqueue :: %v", err)
251253
}
@@ -263,7 +265,7 @@ func BenchmarkStringNoCopy(b *testing.B) {
263265
}
264266

265267
data := "abcdefghijk"
266-
for i := 0; i < b.N; i++ {
268+
for range b.N {
267269
if err := bq.EnqueueString(data); err != nil {
268270
b.Fatalf("error in enqueue :: %v", err)
269271
}

bigqueue.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ func (q *MmapQueue) Close() error {
145145
// between periodic flush goroutine and Close() function.
146146
// A possible lock cycle is here:
147147
// Close() after it has acquired the lock ->
148-
// -> Close() waiting for periodic flush goroutine to stop ->
148+
// -> Close() waiting for periodic flush goroutine to stop ->
149149
// -> Periodic flush goroutine is trying to acquire the lock ->
150150
// -> Close() to release the lock
151151
close(q.quit)
@@ -207,7 +207,7 @@ func (q *MmapQueue) periodicFlush() {
207207

208208
timer := &time.Timer{C: make(chan time.Time)}
209209
if q.conf.flushPeriod > 0 {
210-
timer = time.NewTimer(time.Duration(q.conf.flushPeriod))
210+
timer = time.NewTimer(q.conf.flushPeriod)
211211
}
212212

213213
var drainFlag bool
@@ -217,7 +217,7 @@ func (q *MmapQueue) periodicFlush() {
217217
<-timer.C
218218
}
219219

220-
timer.Reset(time.Duration(q.conf.flushPeriod))
220+
timer.Reset(q.conf.flushPeriod)
221221
drainFlag = false
222222
}
223223

0 commit comments

Comments
 (0)