8
8
paths-ignore :
9
9
- ' **/**.md'
10
10
env :
11
- NODE_VERSION : 20.11.1
11
+ NODE_VERSION : 22.12.0
12
12
PARSE_SERVER_TEST_TIMEOUT : 20000
13
+ permissions :
14
+ actions : write
13
15
jobs :
14
16
check-code-analysis :
15
17
name : Code Analysis
@@ -42,15 +44,10 @@ jobs:
42
44
uses : actions/setup-node@v4
43
45
with :
44
46
node-version : ${{ matrix.node-version }}
45
- - name : Cache Node.js modules
46
- uses : actions/cache@v4
47
- with :
48
- path : ~/.npm
49
- key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
50
- restore-keys : |
51
- ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
52
- - name : Install dependencies
47
+ - name : Install prod dependencies
53
48
run : npm ci
49
+ - name : Remove dev dependencies
50
+ run : ./ci/uninstallDevDeps.sh @actions/core
54
51
- name : CI Node Engine Check
55
52
run : npm run ci:checkNodeEngine
56
53
check-lint :
@@ -117,7 +114,7 @@ jobs:
117
114
check-docker :
118
115
name : Docker Build
119
116
timeout-minutes : 15
120
- runs-on : ubuntu-20.04
117
+ runs-on : ubuntu-latest
121
118
steps :
122
119
- name : Checkout repository
123
120
uses : actions/checkout@v4
@@ -141,42 +138,49 @@ jobs:
141
138
uses : mansona/npm-lockfile-version@v1
142
139
with :
143
140
version : 2
141
+ check-types :
142
+ name : Check Types
143
+ timeout-minutes : 5
144
+ runs-on : ubuntu-latest
145
+ steps :
146
+ - uses : actions/checkout@v3
147
+ - run : npm ci
148
+ - name : Build types
149
+ run : npm run build:types
150
+ - name : Test Types
151
+ run : npm run test:types
144
152
check-mongo :
145
153
strategy :
146
154
matrix :
147
155
include :
148
- - name : MongoDB 4.2, ReplicaSet
149
- MONGODB_VERSION : 4.2.19
150
- MONGODB_TOPOLOGY : replset
151
- NODE_VERSION : 20.11.1
152
- - name : MongoDB 4.4, ReplicaSet
153
- MONGODB_VERSION : 4.4.13
154
- MONGODB_TOPOLOGY : replset
155
- NODE_VERSION : 20.11.1
156
- - name : MongoDB 5, ReplicaSet
157
- MONGODB_VERSION : 5.3.2
158
- MONGODB_TOPOLOGY : replset
159
- NODE_VERSION : 20.11.1
160
156
- name : MongoDB 6, ReplicaSet
161
- MONGODB_VERSION : 6.0.2
157
+ MONGODB_VERSION : 6.0.19
162
158
MONGODB_TOPOLOGY : replset
163
- NODE_VERSION : 20.11.1
159
+ NODE_VERSION : 22.12.0
164
160
- name : MongoDB 7, ReplicaSet
165
- MONGODB_VERSION : 7.0.1
161
+ MONGODB_VERSION : 7.0.16
166
162
MONGODB_TOPOLOGY : replset
167
- NODE_VERSION : 20.11.1
163
+ NODE_VERSION : 22.12.0
164
+ - name : MongoDB 8, ReplicaSet
165
+ MONGODB_VERSION : 8.0.4
166
+ MONGODB_TOPOLOGY : replset
167
+ NODE_VERSION : 22.12.0
168
168
- name : Redis Cache
169
169
PARSE_SERVER_TEST_CACHE : redis
170
- MONGODB_VERSION : 4.4.13
170
+ MONGODB_VERSION : 8.0.4
171
+ MONGODB_TOPOLOGY : standalone
172
+ NODE_VERSION : 22.12.0
173
+ - name : Node 20
174
+ MONGODB_VERSION : 8.0.4
171
175
MONGODB_TOPOLOGY : standalone
172
- NODE_VERSION : 20.11.1
176
+ NODE_VERSION : 20.18.0
173
177
- name : Node 18
174
- MONGODB_VERSION : 4.4.13
178
+ MONGODB_VERSION : 8.0.4
175
179
MONGODB_TOPOLOGY : standalone
176
- NODE_VERSION : 18.19.1
180
+ NODE_VERSION : 18.20.4
177
181
fail-fast : false
178
182
name : ${{ matrix.name }}
179
- timeout-minutes : 15
183
+ timeout-minutes : 20
180
184
runs-on : ubuntu-latest
181
185
services :
182
186
redis :
@@ -210,35 +214,34 @@ jobs:
210
214
- run : npm run coverage
211
215
env :
212
216
CI : true
213
- - run : bash <(curl -s https://codecov.io/bash)
217
+ - name : Upload code coverage
218
+ uses : codecov/codecov-action@v4
219
+ with :
220
+ # Set to `true` once codecov token bug is fixed; https://github.com/parse-community/parse-server/issues/9129
221
+ fail_ci_if_error : false
222
+ token : ${{ secrets.CODECOV_TOKEN }}
214
223
check-postgres :
215
224
strategy :
216
225
matrix :
217
226
include :
218
- - name : PostgreSQL 13, PostGIS 3.1
219
- POSTGRES_IMAGE : postgis/postgis:13-3.1
220
- NODE_VERSION : 20.11.1
221
- - name : PostgreSQL 13, PostGIS 3.2
222
- POSTGRES_IMAGE : postgis/postgis:13-3.2
223
- NODE_VERSION : 20.11.1
224
- - name : PostgreSQL 13, PostGIS 3.3
225
- POSTGRES_IMAGE : postgis/postgis:13-3.3
226
- NODE_VERSION : 20.11.1
227
- - name : PostgreSQL 13, PostGIS 3.4
228
- POSTGRES_IMAGE : postgis/postgis:13-3.4
229
- NODE_VERSION : 20.11.1
230
- - name : PostgreSQL 14, PostGIS 3.4
231
- POSTGRES_IMAGE : postgis/postgis:14-3.4
232
- NODE_VERSION : 20.11.1
227
+ - name : PostgreSQL 15, PostGIS 3.3
228
+ POSTGRES_IMAGE : postgis/postgis:15-3.3
229
+ NODE_VERSION : 22.12.0
233
230
- name : PostgreSQL 15, PostGIS 3.4
234
231
POSTGRES_IMAGE : postgis/postgis:15-3.4
235
- NODE_VERSION : 20.11.1
236
- - name : PostgreSQL 16, PostGIS 3.4
237
- POSTGRES_IMAGE : postgis/postgis:15-3.4
238
- NODE_VERSION : 20.11.1
232
+ NODE_VERSION : 22.12.0
233
+ - name : PostgreSQL 15, PostGIS 3.5
234
+ POSTGRES_IMAGE : postgis/postgis:15-3.5
235
+ NODE_VERSION : 22.12.0
236
+ - name : PostgreSQL 16, PostGIS 3.5
237
+ POSTGRES_IMAGE : postgis/postgis:16-3.5
238
+ NODE_VERSION : 22.12.0
239
+ - name : PostgreSQL 17, PostGIS 3.5
240
+ POSTGRES_IMAGE : postgis/postgis:17-3.5
241
+ NODE_VERSION : 22.12.0
239
242
fail-fast : false
240
243
name : ${{ matrix.name }}
241
- timeout-minutes : 15
244
+ timeout-minutes : 20
242
245
runs-on : ubuntu-latest
243
246
services :
244
247
redis :
@@ -281,7 +284,13 @@ jobs:
281
284
- run : npm run coverage
282
285
env :
283
286
CI : true
284
- - run : bash <(curl -s https://codecov.io/bash)
287
+ - name : Upload code coverage
288
+ uses : codecov/codecov-action@v4
289
+ with :
290
+ fail_ci_if_error : false
291
+ token : ${{ secrets.CODECOV_TOKEN }}
292
+ env :
293
+ CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
285
294
concurrency :
286
295
group : ${{ github.workflow }}-${{ github.ref }}
287
296
cancel-in-progress : true
0 commit comments