Skip to content

Commit eab694c

Browse files
committed
Upgrade to go 1.24.1
- Upgrade golangci-lint. Fix a bunch of lints.
1 parent 3259c9a commit eab694c

88 files changed

Lines changed: 618 additions & 430 deletions

File tree

Some content is hidden

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

.github/workflows/go_lint.yaml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
name: Lint
22
on: push
33
jobs:
4-
lint:
5-
name: lint
6-
runs-on: buildjet-4vcpu-ubuntu-2204
4+
golangci:
5+
runs-on: ubuntu-latest
76
steps:
8-
- uses: buildjet/setup-go@v4
7+
- name: Checkout
8+
uses: actions/checkout@v4
9+
10+
- name: Setup Go
11+
uses: actions/setup-go@v5
912
with:
10-
go-version: 1.21.5
11-
- uses: actions/checkout@v4
12-
- name: golangci-lint
13-
uses: golangci/golangci-lint-action@v3
13+
go-version-file: go.mod
14+
15+
- name: Run
16+
uses: golangci/golangci-lint-action@v6
1417
with:
15-
version: v1.55.2
18+
version: v1.64

.github/workflows/go_test.yaml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ name: Test
22
on: push
33
jobs:
44
test:
5-
name: go test
6-
runs-on: buildjet-4vcpu-ubuntu-2204
5+
runs-on: ubuntu-latest
76
services:
87
postgres:
98
image: postgres
@@ -19,11 +18,16 @@ jobs:
1918
--health-timeout 5s
2019
--health-retries 5
2120
steps:
22-
- uses: actions/checkout@v4
23-
- uses: buildjet/setup-go@v4
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
24+
- name: Setup Go
25+
uses: actions/setup-go@v5
2426
with:
25-
go-version: '1.21.5'
27+
go-version-file: go.mod
28+
2629
- run: go test ./...
30+
2731
- run: go test --tags=acceptance_test ./...
2832
env:
2933
DOCKER_API_VERSION: 1.39

.golangci.yaml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
linters:
2+
enable:
3+
# Enabled by default.
4+
- errcheck
5+
- gosimple
6+
- govet
7+
- ineffassign
8+
- staticcheck
9+
- unused
10+
# Disabled by default.
11+
- dupword
12+
- durationcheck
13+
- errchkjson
14+
- errname
15+
- errorlint
16+
- exhaustive
17+
- exptostd
18+
- gocheckcompilerdirectives
19+
- gochecknoglobals
20+
- gochecknoinits
21+
- gochecksumtype
22+
- gocritic
23+
- godot
24+
- godox
25+
- gofumpt
26+
- gosec
27+
- intrange
28+
- mirror
29+
- misspell
30+
- nilerr
31+
- nilnesserr
32+
- nilnil
33+
- nolintlint
34+
- predeclared
35+
- reassign
36+
- recvcheck
37+
- sloglint
38+
- unconvert
39+
- unparam
40+
- usestdlibvars
41+
- usetesting
42+
- wastedassign
43+
44+
linters-settings:
45+
gosec:
46+
excludes:
47+
- G115
48+

cmd/pggen/pggen.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,14 @@ import (
1818
)
1919

2020
// Set via ldflags for release binaries.
21+
//
22+
//nolint:gochecknoglobals
2123
var (
2224
version = "dev"
2325
commit = "head"
2426
)
2527

26-
var flagHelp = `pggen generates type-safe code from files containing Postgres queries by running
28+
const flagHelp = `pggen generates type-safe code from files containing Postgres queries by running
2729
the queries on Postgres to get type information.
2830
2931
EXAMPLES

example/author/codegen_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package author
22

33
import (
4-
"github.com/jschaf/pggen"
5-
"github.com/jschaf/pggen/internal/pgtest"
6-
"github.com/stretchr/testify/assert"
74
"os"
85
"path/filepath"
96
"testing"
7+
8+
"github.com/jschaf/pggen"
9+
"github.com/jschaf/pggen/internal/pgtest"
10+
"github.com/stretchr/testify/assert"
1011
)
1112

1213
func TestGenerate_Go_Example_Author(t *testing.T) {

example/author/query.sql_test.go

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package author
22

33
import (
4-
"context"
54
"errors"
5+
"testing"
6+
67
"github.com/jschaf/pggen/internal/ptrs"
78
"github.com/stretchr/testify/require"
8-
"testing"
99

1010
"github.com/jackc/pgx/v4"
1111
"github.com/jschaf/pggen/internal/pgtest"
@@ -21,7 +21,7 @@ func TestNewQuerier_FindAuthorByID(t *testing.T) {
2121
insertAuthor(t, q, "george", "washington")
2222

2323
t.Run("FindAuthorByID", func(t *testing.T) {
24-
authorByID, err := q.FindAuthorByID(context.Background(), adamsID)
24+
authorByID, err := q.FindAuthorByID(t.Context(), adamsID)
2525
require.NoError(t, err)
2626
assert.Equal(t, FindAuthorByIDRow{
2727
AuthorID: adamsID,
@@ -32,7 +32,7 @@ func TestNewQuerier_FindAuthorByID(t *testing.T) {
3232
})
3333

3434
t.Run("FindAuthorByID - none-exists", func(t *testing.T) {
35-
missingAuthorByID, err := q.FindAuthorByID(context.Background(), 888)
35+
missingAuthorByID, err := q.FindAuthorByID(t.Context(), 888)
3636
require.Error(t, err, "expected error when finding author ID that doesn't match")
3737
assert.Zero(t, missingAuthorByID, "expected zero value when error")
3838
if !errors.Is(err, pgx.ErrNoRows) {
@@ -50,7 +50,7 @@ func TestNewQuerier_FindAuthors(t *testing.T) {
5050
carverID := insertAuthor(t, q, "george", "carver")
5151

5252
t.Run("FindAuthors - 1 row - john", func(t *testing.T) {
53-
authors, err := q.FindAuthors(context.Background(), "john")
53+
authors, err := q.FindAuthors(t.Context(), "john")
5454
require.NoError(t, err)
5555
want := []FindAuthorsRow{
5656
{
@@ -64,7 +64,7 @@ func TestNewQuerier_FindAuthors(t *testing.T) {
6464
})
6565

6666
t.Run("FindAuthors - 2 rows - george", func(t *testing.T) {
67-
authors, err := q.FindAuthors(context.Background(), "george")
67+
authors, err := q.FindAuthors(t.Context(), "george")
6868
require.NoError(t, err)
6969
want := []FindAuthorsRow{
7070
{AuthorID: washingtonID, FirstName: "george", LastName: "washington", Suffix: nil},
@@ -74,7 +74,7 @@ func TestNewQuerier_FindAuthors(t *testing.T) {
7474
})
7575

7676
t.Run("FindAuthors - 0 rows - joe", func(t *testing.T) {
77-
authors, err := q.FindAuthors(context.Background(), "joe")
77+
authors, err := q.FindAuthors(t.Context(), "joe")
7878
require.NoError(t, err)
7979
assert.Equal(t, []FindAuthorsRow{}, authors)
8080
})
@@ -89,7 +89,7 @@ func TestNewQuerier_FindFirstNames(t *testing.T) {
8989
insertAuthor(t, q, "george", "washington")
9090

9191
t.Run("FindAuthorByID", func(t *testing.T) {
92-
firstNames, err := q.FindFirstNames(context.Background(), adamsID)
92+
firstNames, err := q.FindFirstNames(t.Context(), adamsID)
9393
require.NoError(t, err)
9494
assert.Equal(t, []*string{ptrs.String("george"), ptrs.String("john")}, firstNames)
9595
})
@@ -101,7 +101,7 @@ func TestNewQuerier_InsertAuthorSuffix(t *testing.T) {
101101
q := NewQuerier(conn)
102102

103103
t.Run("InsertAuthorSuffix", func(t *testing.T) {
104-
author, err := q.InsertAuthorSuffix(context.Background(), InsertAuthorSuffixParams{
104+
author, err := q.InsertAuthorSuffix(t.Context(), InsertAuthorSuffixParams{
105105
FirstName: "john",
106106
LastName: "adams",
107107
Suffix: "Jr.",
@@ -127,12 +127,12 @@ func TestNewQuerier_DeleteAuthorsByFirstName(t *testing.T) {
127127
insertAuthor(t, q, "george", "carver")
128128

129129
t.Run("DeleteAuthorsByFirstName", func(t *testing.T) {
130-
tag, err := q.DeleteAuthorsByFirstName(context.Background(), "george")
130+
tag, err := q.DeleteAuthorsByFirstName(t.Context(), "george")
131131
require.NoError(t, err)
132132
assert.Truef(t, tag.Delete(), "expected delete tag; got %s", tag.String())
133133
assert.Equal(t, int64(2), tag.RowsAffected())
134134

135-
authors, err := q.FindAuthors(context.Background(), "george")
135+
authors, err := q.FindAuthors(t.Context(), "george")
136136
require.NoError(t, err)
137137
assert.Empty(t, authors, "no authors should remain with first name of george")
138138
})
@@ -143,15 +143,15 @@ func TestNewQuerier_DeleteAuthorsByFullName(t *testing.T) {
143143
defer cleanup()
144144
q := NewQuerier(conn)
145145
washingtonID := insertAuthor(t, q, "george", "washington")
146-
_, err := q.InsertAuthorSuffix(context.Background(), InsertAuthorSuffixParams{
146+
_, err := q.InsertAuthorSuffix(t.Context(), InsertAuthorSuffixParams{
147147
FirstName: "george",
148148
LastName: "washington",
149149
Suffix: "Jr.",
150150
})
151151
require.NoError(t, err)
152152

153153
t.Run("DeleteAuthorsByFullName", func(t *testing.T) {
154-
tag, err := q.DeleteAuthorsByFullName(context.Background(), DeleteAuthorsByFullNameParams{
154+
tag, err := q.DeleteAuthorsByFullName(t.Context(), DeleteAuthorsByFullNameParams{
155155
FirstName: "george",
156156
LastName: "washington",
157157
Suffix: "Jr.",
@@ -160,7 +160,7 @@ func TestNewQuerier_DeleteAuthorsByFullName(t *testing.T) {
160160
assert.Truef(t, tag.Delete(), "expected delete tag; got %s", tag.String())
161161
assert.Equal(t, int64(1), tag.RowsAffected())
162162

163-
authors, err := q.FindAuthors(context.Background(), "george")
163+
authors, err := q.FindAuthors(t.Context(), "george")
164164
require.NoError(t, err)
165165
want := []FindAuthorsRow{
166166
{
@@ -179,21 +179,21 @@ func TestNewQuerier_StringAggFirstName(t *testing.T) {
179179
defer cleanup()
180180
q := NewQuerier(conn)
181181
washingtonID := insertAuthor(t, q, "george", "washington")
182-
_, err := q.InsertAuthorSuffix(context.Background(), InsertAuthorSuffixParams{
182+
_, err := q.InsertAuthorSuffix(t.Context(), InsertAuthorSuffixParams{
183183
FirstName: "george",
184184
LastName: "washington",
185185
Suffix: "Jr.",
186186
})
187187
require.NoError(t, err)
188188

189189
t.Run("StringAggFirstName - null", func(t *testing.T) {
190-
firstNames, err := q.StringAggFirstName(context.Background(), 999)
190+
firstNames, err := q.StringAggFirstName(t.Context(), 999)
191191
require.NoError(t, err)
192192
require.Nil(t, firstNames)
193193
})
194194

195195
t.Run("StringAggFirstName - one", func(t *testing.T) {
196-
firstNames, err := q.StringAggFirstName(context.Background(), washingtonID)
196+
firstNames, err := q.StringAggFirstName(t.Context(), washingtonID)
197197
require.NoError(t, err)
198198
assert.Equal(t, "george", *firstNames)
199199
})
@@ -204,29 +204,29 @@ func TestNewQuerier_ArrayAggFirstName(t *testing.T) {
204204
defer cleanup()
205205
q := NewQuerier(conn)
206206
washingtonID := insertAuthor(t, q, "george", "washington")
207-
_, err := q.InsertAuthorSuffix(context.Background(), InsertAuthorSuffixParams{
207+
_, err := q.InsertAuthorSuffix(t.Context(), InsertAuthorSuffixParams{
208208
FirstName: "george",
209209
LastName: "washington",
210210
Suffix: "Jr.",
211211
})
212212
require.NoError(t, err)
213213

214214
t.Run("ArrayAggFirstName - null", func(t *testing.T) {
215-
firstNames, err := q.ArrayAggFirstName(context.Background(), 999)
215+
firstNames, err := q.ArrayAggFirstName(t.Context(), 999)
216216
require.NoError(t, err)
217217
require.Nil(t, firstNames)
218218
})
219219

220220
t.Run("ArrayAggFirstName - one", func(t *testing.T) {
221-
firstNames, err := q.ArrayAggFirstName(context.Background(), washingtonID)
221+
firstNames, err := q.ArrayAggFirstName(t.Context(), washingtonID)
222222
require.NoError(t, err)
223223
assert.Equal(t, []string{"george"}, firstNames)
224224
})
225225
}
226226

227227
func insertAuthor(t *testing.T, q *DBQuerier, first, last string) int32 {
228228
t.Helper()
229-
authorID, err := q.InsertAuthor(context.Background(), first, last)
229+
authorID, err := q.InsertAuthor(t.Context(), first, last)
230230
require.NoError(t, err, "insert author")
231231
return authorID
232232
}

example/complex_params/codegen_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package complex_params
22

33
import (
4-
"github.com/jschaf/pggen"
5-
"github.com/jschaf/pggen/internal/pgtest"
6-
"github.com/stretchr/testify/assert"
74
"os"
85
"path/filepath"
96
"testing"
7+
8+
"github.com/jschaf/pggen"
9+
"github.com/jschaf/pggen/internal/pgtest"
10+
"github.com/stretchr/testify/assert"
1011
)
1112

1213
func TestGenerate_Go_Example_ComplexParams(t *testing.T) {

0 commit comments

Comments
 (0)