1
1
name :examples
2
2
on :[push]
3
3
jobs :
4
- bun :
4
+ bun-mysql :
5
5
runs-on :ubuntu-latest
6
6
strategy :
7
7
matrix :
8
8
include :
9
9
-dir :" examples/bun-mysql2"
10
10
qs :" mysql"
11
+ steps :
12
+ -uses :actions/checkout@v4
13
+ -uses :sqlc-dev/setup-sqlc@v4
14
+ with :
15
+ sqlc-version :' 1.24.0'
16
+ -uses :oven-sh/setup-bun@v1
17
+ with :
18
+ bun-version :latest
19
+ -uses :shogo82148/actions-setup-mysql@v1
20
+ with :
21
+ mysql-version :" 8.1"
22
+ -run :bun install
23
+ working-directory :${{ matrix.dir }}
24
+ -run :mysql --user="root" --database="mysql" < schema.sql
25
+ working-directory :examples/authors/mysql
26
+ -run :bun run src/main.ts
27
+ working-directory :${{ matrix.dir }}
28
+ env :
29
+ DATABASE_URL :mysql://root:@localhost:3306/mysql
30
+
31
+ bun-postgresql :
32
+ runs-on :ubuntu-latest
33
+ strategy :
34
+ matrix :
35
+ include :
11
36
-dir :" examples/bun-postgres"
12
37
qs :" postgresql"
13
38
-dir :" examples/bun-pg"
@@ -20,21 +45,53 @@ jobs:
20
45
-uses :oven-sh/setup-bun@v1
21
46
with :
22
47
bun-version :latest
48
+ -uses :sqlc-dev/action-setup-postgres@master
49
+ with :
50
+ postgres-version :" 16"
51
+ id :postgres
23
52
-run :bun install
24
53
working-directory :${{ matrix.dir }}
25
- -run :echo "DATABASE_URL=$(sqlc createdb --queryset ${{ matrix.qs }})" >> $GITHUB_ENV
26
- working-directory :examples/authors
54
+ -run :psql -f schema.sql "$DATABASE_URL"
55
+ working-directory :examples/authors/postgresql
27
56
env :
28
- SQLC_AUTH_TOKEN :${{secrets.SQLC_AUTH_TOKEN }}
57
+ DATABASE_URL :${{steps.postgres.outputs.connection-uri }}?sslmode=disable
29
58
-run :bun run src/main.ts
30
59
working-directory :${{ matrix.dir }}
31
- node :
60
+ env :
61
+ DATABASE_URL :${{ steps.postgres.outputs.connection-uri }}?sslmode=disable
62
+
63
+ node-mysql :
32
64
runs-on :ubuntu-latest
33
65
strategy :
34
66
matrix :
35
67
include :
36
68
-dir :" examples/node-mysql2"
37
69
qs :" mysql"
70
+ steps :
71
+ -uses :actions/checkout@v4
72
+ -uses :sqlc-dev/setup-sqlc@v4
73
+ with :
74
+ sqlc-version :' 1.24.0'
75
+ -uses :actions/setup-node@v4
76
+ -uses :shogo82148/actions-setup-mysql@v1
77
+ with :
78
+ mysql-version :" 8.1"
79
+ -run :npm install
80
+ working-directory :${{ matrix.dir }}
81
+ -run :npx tsc
82
+ working-directory :${{ matrix.dir }}
83
+ -run :mysql --user="root" --database="mysql" < schema.sql
84
+ working-directory :examples/authors/mysql
85
+ -run :node ./src/main.js
86
+ working-directory :${{ matrix.dir }}
87
+ env :
88
+ DATABASE_URL :mysql://root:@localhost:3306/mysql
89
+
90
+ node-postgresql :
91
+ runs-on :ubuntu-latest
92
+ strategy :
93
+ matrix :
94
+ include :
38
95
-dir :" examples/node-postgres"
39
96
qs :" postgresql"
40
97
-dir :" examples/node-pg"
@@ -45,13 +102,19 @@ jobs:
45
102
with :
46
103
sqlc-version :' 1.24.0'
47
104
-uses :actions/setup-node@v4
105
+ -uses :sqlc-dev/action-setup-postgres@master
106
+ with :
107
+ postgres-version :" 16"
108
+ id :postgres
48
109
-run :npm install
49
110
working-directory :${{ matrix.dir }}
50
111
-run :npx tsc
51
112
working-directory :${{ matrix.dir }}
52
- -run :echo "DATABASE_URL=$(sqlc createdb --queryset ${{ matrix.qs }})" >> $GITHUB_ENV
53
- working-directory :examples/authors
113
+ -run :psql -f schema.sql "$DATABASE_URL"
114
+ working-directory :examples/authors/postgresql
54
115
env :
55
- SQLC_AUTH_TOKEN :${{secrets.SQLC_AUTH_TOKEN }}
116
+ DATABASE_URL :${{steps.postgres.outputs.connection-uri }}?sslmode=disable
56
117
-run :node ./src/main.js
57
- working-directory :${{ matrix.dir }}
118
+ working-directory :${{ matrix.dir }}
119
+ env :
120
+ DATABASE_URL :${{ steps.postgres.outputs.connection-uri }}?sslmode=disable