@@ -14,130 +14,15 @@ concurrency:
14
14
group : ci-${{ github.workflow }}-${{ github.ref }}
15
15
16
16
jobs :
17
- lint :
18
- runs-on : ubuntu-latest
17
+ tools :
18
+ uses : ./.github/workflows/tools.yml
19
+ secrets :
20
+ DOCKERHUB_USERNAME : ${{ secrets.DOCKERHUB_USERNAME }}
21
+ DOCKERHUB_PASSWORD : ${{ secrets.DOCKERHUB_PASSWORD }}
22
+
23
+ app :
24
+ uses : ./.github/workflows/app.yml
25
+ secrets :
26
+ DOCKERHUB_USERNAME : ${{ secrets.DOCKERHUB_USERNAME }}
27
+ DOCKERHUB_PASSWORD : ${{ secrets.DOCKERHUB_PASSWORD }}
19
28
20
- steps :
21
- - uses : actions/checkout@v4
22
-
23
- - name : Setup Node.js
24
- uses : actions/setup-node@v4
25
- with :
26
- node-version : 21
27
-
28
- - name : Install pnpm
29
- run : |
30
- corepack enable
31
- corepack prepare pnpm@latest --activate
32
-
33
- - name : Install dependencies
34
- run : pnpm install
35
-
36
- - name : Lint
37
- run : pnpm lint
38
-
39
- typecheck :
40
- runs-on : ubuntu-latest
41
-
42
- steps :
43
- - uses : actions/checkout@v4
44
-
45
- - name : Setup Node.js
46
- uses : actions/setup-node@v4
47
- with :
48
- node-version : 21
49
-
50
- - name : Install pnpm
51
- run : |
52
- corepack enable
53
- corepack prepare pnpm@latest --activate
54
-
55
- - name : Install dependencies
56
- run : |
57
- pnpm install
58
- pnpm -r build
59
-
60
- - name : Typecheck
61
- run : pnpm typecheck
62
-
63
- build :
64
- runs-on : ubuntu-latest
65
-
66
- steps :
67
- - uses : actions/checkout@v4
68
-
69
- - name : Setup Node.js
70
- uses : actions/setup-node@v4
71
- with :
72
- node-version : 21
73
-
74
- - name : Install pnpm
75
- run : |
76
- corepack enable
77
- corepack prepare pnpm@latest --activate
78
-
79
- - name : Install dependencies
80
- run : pnpm install
81
-
82
- - name : Build
83
- run : pnpm build
84
-
85
- tests :
86
- runs-on : ubuntu-latest
87
- timeout-minutes : 10
88
-
89
- services :
90
- redis :
91
- image : redis:6.2-alpine
92
- ports :
93
- - 6379:6379
94
- postgres :
95
- image : postgres:15-alpine
96
- env :
97
- POSTGRES_USER : postgres
98
- POSTGRES_PASSWORD : postgres
99
- POSTGRES_DB : postgres
100
- ports :
101
- - 5432:5432
102
-
103
- steps :
104
- - uses : actions/checkout@v4
105
-
106
- - name : Setup Node.js
107
- uses : actions/setup-node@v4
108
- with :
109
- node-version : 21
110
-
111
- - name : Install pnpm
112
- run : |
113
- corepack enable
114
- corepack prepare pnpm@latest --activate
115
-
116
- - name : Install dependencies
117
- run : |
118
- pnpm install
119
- pnpm exec playwright install
120
-
121
- - name : Run tests
122
- env :
123
- APP_KEY : 1234567890123456
124
- NODE_ENV : test
125
- PORT : 3030
126
- HOST : localhost
127
- LOG_LEVEL : info
128
- SESSION_DRIVER : memory
129
- BYPASS_LOGIN : true
130
- REDIS_HOST : localhost
131
- REDIS_PORT : 6379
132
- REDIS_DB : 1
133
- DB_CONNECTION : postgres
134
- DB_HOST : localhost
135
- DB_PORT : 5432
136
- DB_USER : postgres
137
- DB_PASSWORD : postgres
138
- DB_DATABASE : postgres
139
- TWITCH_CLIENT_ID : client_id
140
- TWITCH_CLIENT_SECRET : client_secret
141
- TWITCH_CALLBACK_URL : http://localhost:3333/auth/twitch/callback
142
- GAME_LENGTH : 90
143
- run : FORCE_COLOR=1 pnpm test -r
0 commit comments