Skip to content

Commit 51da195

Browse files
authored
Wire sqlc into the project (#99)
Ensure that sqlc generation is always run as part of builds. Add a sample query.
1 parent 2e0c707 commit 51da195

File tree

10 files changed

+330
-12
lines changed

10 files changed

+330
-12
lines changed

.github/workflows/verify-gen.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ jobs:
2121
with:
2222
version: 3.44.1
2323
repo-token: ${{ secrets.GITHUB_TOKEN }}
24-
- name: Install mockgen
25-
run: task install-mock
24+
- name: Install codegen tools
25+
run: task install-codegen
2626
- name: Generate code files
2727
run: task gen
2828
- name: Check for changes

Taskfile.yml

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ tasks:
2626
--v3.1 --output {{.SWAG_OUTPUT_DIR}} \
2727
--parseDependencyLevel 1 2>/dev/null
2828
29+
install-sqlc:
30+
desc: Install the sqlc tool for generating database code
31+
cmds:
32+
- go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest
33+
2934
install-swagger:
3035
desc: Install the swag tool for OpenAPI/Swagger generation
3136
cmds:
@@ -38,6 +43,12 @@ tasks:
3843
cmds:
3944
- go install go.uber.org/mock/mockgen@latest
4045

46+
install-codegen:
47+
desc: Install tools needed for code generation
48+
deps:
49+
- install-mock
50+
- install-sqlc
51+
4152
install-gotestfmt:
4253
desc: Install the gotestfmt tool for test output formatting
4354
cmds:
@@ -64,23 +75,24 @@ tasks:
6475
desc: Install the development dependencies
6576
deps:
6677
- install-gotestfmt
67-
- install-mock
78+
- install-codegen
6879
- install-swagger
6980
- install-golangci-lint
7081
- install-deadcode
7182
- install-ko
7283

7384
gen:
74-
desc: Generate mock files using go generate
75-
deps:
76-
- task: install-mock
85+
desc: Run code generation tasks
86+
deps:
87+
- task: install-codegen
7788
silent: true
7889
cmds:
7990
- go generate ./...
91+
- sqlc generate
8092

8193
deadcode:
8294
desc: Run deadcode tool for checking for unused code
83-
deps:
95+
deps:
8496
- task: install-deadcode
8597
silent: true
8698
cmds:
@@ -95,7 +107,7 @@ tasks:
95107
96108
lint:
97109
desc: Run linting tools
98-
deps:
110+
deps:
99111
- task: gen
100112
silent: true
101113
- task: install-golangci-lint
@@ -108,7 +120,7 @@ tasks:
108120

109121
lint-fix:
110122
desc: Run linting tools, and apply fixes.
111-
deps:
123+
deps:
112124
- task: install-golangci-lint
113125
silent: true
114126
cmds:
@@ -121,7 +133,7 @@ tasks:
121133

122134
build-image:
123135
desc: Build the registry API image with ko
124-
deps:
136+
deps:
125137
- task: install-ko
126138
silent: true
127139
env:
@@ -135,7 +147,7 @@ tasks:
135147
COMMIT:
136148
sh: git rev-parse --short HEAD || echo "unknown"
137149
BUILD_DATE: '{{dateInZone "2006-01-02T15:04:05Z" (now) "UTC"}}'
138-
SHA:
150+
SHA:
139151
sh: git rev-parse HEAD || echo "unknown"
140152
cmds:
141153
- |
@@ -159,7 +171,7 @@ tasks:
159171

160172
test-coverage:
161173
desc: Run registry API tests with coverage
162-
deps:
174+
deps:
163175
- task: install-gotestfmt
164176
silent: true
165177
cmds:

database/queries/registry.sql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-- name: InsertRegistry :exec
2+
INSERT INTO registry (name, reg_type) VALUES ($1, $2);

go.mod

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ require (
66
github.com/go-chi/chi/v5 v5.2.3
77
github.com/go-git/go-billy/v5 v5.6.2
88
github.com/go-git/go-git/v5 v5.16.3
9+
github.com/google/uuid v1.6.0
910
github.com/modelcontextprotocol/registry v1.3.8
1011
github.com/onsi/ginkgo/v2 v2.27.2
1112
github.com/onsi/gomega v1.38.2
1213
github.com/spf13/viper v1.21.0
14+
github.com/sqlc-dev/pqtype v0.3.0
1315
github.com/stacklok/toolhive v0.6.2
1416
github.com/stretchr/testify v1.11.1
1517
github.com/swaggo/swag/v2 v2.0.0-rc4

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@ github.com/google/pprof v0.0.0-20250820193118-f64d9cf942d6 h1:EEHtgt9IwisQ2AZ4pI
123123
github.com/google/pprof v0.0.0-20250820193118-f64d9cf942d6/go.mod h1:I6V7YzU0XDpsHqbsyrghnFZLO1gwK6NPTNvmetQIk9U=
124124
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
125125
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
126+
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
127+
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
126128
github.com/ianlancetaylor/demangle v0.0.0-20250417193237-f615e6bd150b h1:ogbOPx86mIhFy764gGkqnkFC8m5PJA7sPzlk9ppLVQA=
127129
github.com/ianlancetaylor/demangle v0.0.0-20250417193237-f615e6bd150b/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw=
128130
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
@@ -199,6 +201,8 @@ github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
199201
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
200202
github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU=
201203
github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY=
204+
github.com/sqlc-dev/pqtype v0.3.0 h1:b09TewZ3cSnO5+M1Kqq05y0+OjqIptxELaSayg7bmqk=
205+
github.com/sqlc-dev/pqtype v0.3.0/go.mod h1:oyUjp5981ctiL9UYvj1bVvCKi8OXkCa0u645hce7CAs=
202206
github.com/stacklok/toolhive v0.6.2 h1:r47V8z2rv4lTAOOaSMsDVLqHPCuX7jAK5/l9wsY80rs=
203207
github.com/stacklok/toolhive v0.6.2/go.mod h1:TfYC6y/NMiC04GuMe5GdSMp59u7sUZ4ElFz4uSleg3M=
204208
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=

internal/db/db.go

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/db/models.go

Lines changed: 214 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)