1
1
name : ci
2
2
on :
3
3
push :
4
- branches : [ release, alpha, beta, next-major ]
4
+ branches : [ release* , alpha, beta ]
5
5
pull_request :
6
6
branches :
7
7
- ' **'
8
8
env :
9
- NODE_VERSION : 16.14.2
9
+ NODE_VERSION : 19.3.0
10
10
PARSE_SERVER_TEST_TIMEOUT : 20000
11
11
jobs :
12
+ check-code-analysis :
13
+ name : Code Analysis
14
+ runs-on : ubuntu-latest
15
+ permissions :
16
+ actions : read
17
+ contents : read
18
+ security-events : write
19
+ strategy :
20
+ fail-fast : false
21
+ matrix :
22
+ language : [ 'javascript' ]
23
+ steps :
24
+ - name : Checkout repository
25
+ uses : actions/checkout@v3
26
+ - name : Initialize CodeQL
27
+ uses : github/codeql-action/init@v2
28
+ with :
29
+ languages : ${{ matrix.language }}
30
+ source-root : src
31
+ - name : Perform CodeQL Analysis
32
+ uses : github/codeql-action/analyze@v2
12
33
check-ci :
13
34
name : Node Engine Check
14
35
timeout-minutes : 15
15
- runs-on : ubuntu-20.04
36
+ runs-on : ubuntu-latest
16
37
steps :
17
38
- uses : actions/checkout@v2
18
39
- name : Use Node.js ${{ matrix.NODE_VERSION }}
33
54
check-lint :
34
55
name : Lint
35
56
timeout-minutes : 15
36
- runs-on : ubuntu-20.04
57
+ runs-on : ubuntu-latest
37
58
steps :
38
59
- uses : actions/checkout@v2
39
60
- name : Use Node.js ${{ matrix.NODE_VERSION }}
@@ -50,10 +71,31 @@ jobs:
50
71
- name : Install dependencies
51
72
run : npm ci
52
73
- run : npm run lint
74
+ check-definitions :
75
+ name : Check Definitions
76
+ timeout-minutes : 5
77
+ runs-on : ubuntu-18.04
78
+ steps :
79
+ - uses : actions/checkout@v2
80
+ - name : Use Node.js ${{ matrix.NODE_VERSION }}
81
+ uses : actions/setup-node@v2
82
+ with :
83
+ node-version : ${{ matrix.node-version }}
84
+ - name : Cache Node.js modules
85
+ uses : actions/cache@v2
86
+ with :
87
+ path : ~/.npm
88
+ key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
89
+ restore-keys : |
90
+ ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
91
+ - name : Install dependencies
92
+ run : npm ci
93
+ - name : CI Definitions Check
94
+ run : npm run ci:definitionsCheck
53
95
check-circular :
54
96
name : Circular Dependencies
55
97
timeout-minutes : 5
56
- runs-on : ubuntu-20.04
98
+ runs-on : ubuntu-latest
57
99
steps :
58
100
- uses : actions/checkout@v2
59
101
- name : Use Node.js ${{ matrix.NODE_VERSION }}
73
115
check-docker :
74
116
name : Docker Build
75
117
timeout-minutes : 15
76
- runs-on : ubuntu-20.04
118
+ runs-on : ubuntu-latest
77
119
steps :
78
120
- name : Checkout repository
79
121
uses : actions/checkout@v2
@@ -90,88 +132,60 @@ jobs:
90
132
check-lock-file-version :
91
133
name : NPM Lock File Version
92
134
timeout-minutes : 5
93
- runs-on : ubuntu-20.04
135
+ runs-on : ubuntu-latest
94
136
steps :
95
137
- uses : actions/checkout@v2
96
138
- name : Check NPM lock file version
97
139
uses : mansona/npm-lockfile-version@v1
98
140
with :
99
- version : 1
141
+ version : 2
100
142
check-mongo :
101
143
strategy :
102
144
matrix :
103
145
include :
104
- - name : MongoDB 5.2, ReplicaSet, WiredTiger
105
- MONGODB_VERSION : 5.2.1
106
- MONGODB_TOPOLOGY : replicaset
107
- MONGODB_STORAGE_ENGINE : wiredTiger
108
- NODE_VERSION : 14.19.1
109
- - name : MongoDB 5.1, ReplicaSet, WiredTiger
110
- MONGODB_VERSION : 5.1.1
111
- MONGODB_TOPOLOGY : replicaset
112
- MONGODB_STORAGE_ENGINE : wiredTiger
113
- NODE_VERSION : 14.19.1
114
- - name : MongoDB 5.0, ReplicaSet, WiredTiger
115
- MONGODB_VERSION : 5.0.6
146
+ - name : MongoDB 4.2, ReplicaSet
147
+ MONGODB_VERSION : 4.2.19
116
148
MONGODB_TOPOLOGY : replicaset
117
- MONGODB_STORAGE_ENGINE : wiredTiger
118
- NODE_VERSION : 16.14.2
119
- - name : MongoDB 4.4, ReplicaSet, WiredTiger
149
+ NODE_VERSION : 19.3.0
150
+ - name : MongoDB 4.4, ReplicaSet
120
151
MONGODB_VERSION : 4.4.13
121
152
MONGODB_TOPOLOGY : replicaset
122
- MONGODB_STORAGE_ENGINE : wiredTiger
123
- NODE_VERSION : 16.14.2
124
- - name : MongoDB 4.2, ReplicaSet, WiredTiger
125
- MONGODB_VERSION : 4.2.19
153
+ NODE_VERSION : 19.3.0
154
+ - name : MongoDB 5, ReplicaSet
155
+ MONGODB_VERSION : 5.3.2
126
156
MONGODB_TOPOLOGY : replicaset
127
- MONGODB_STORAGE_ENGINE : wiredTiger
128
- NODE_VERSION : 16.14.2
129
- - name : MongoDB 4.0, ReplicaSet, WiredTiger
130
- MONGODB_VERSION : 4.0.28
157
+ NODE_VERSION : 19.3.0
158
+ - name : MongoDB 6, ReplicaSet
159
+ MONGODB_VERSION : 6.0.2
131
160
MONGODB_TOPOLOGY : replicaset
132
- MONGODB_STORAGE_ENGINE : wiredTiger
133
- NODE_VERSION : 16.14.2
134
- - name : MongoDB 4.0, Standalone, MMAPv1
135
- MONGODB_VERSION : 4.0.28
136
- MONGODB_TOPOLOGY : standalone
137
- MONGODB_STORAGE_ENGINE : mmapv1
138
- NODE_VERSION : 16.14.2
161
+ NODE_VERSION : 19.3.0
139
162
- name : Redis Cache
140
163
PARSE_SERVER_TEST_CACHE : redis
141
164
MONGODB_VERSION : 4.4.13
142
165
MONGODB_TOPOLOGY : standalone
143
- MONGODB_STORAGE_ENGINE : wiredTiger
144
- NODE_VERSION : 16.14.2
145
- - name : Node 12
146
- MONGODB_VERSION : 4.4.13
147
- MONGODB_TOPOLOGY : standalone
148
- MONGODB_STORAGE_ENGINE : wiredTiger
149
- NODE_VERSION : 12.22.11
166
+ NODE_VERSION : 19.3.0
150
167
- name : Node 14
151
168
MONGODB_VERSION : 4.4.13
152
169
MONGODB_TOPOLOGY : standalone
153
- MONGODB_STORAGE_ENGINE : wiredTiger
154
- NODE_VERSION : 14.19.1
155
- - name : Node 17
170
+ NODE_VERSION : 14.21.1
171
+ - name : Node 16
156
172
MONGODB_VERSION : 4.4.13
157
173
MONGODB_TOPOLOGY : standalone
158
- MONGODB_STORAGE_ENGINE : wiredTiger
159
- NODE_VERSION : 17.9.0
174
+ NODE_VERSION : 16.18.1
160
175
- name : Node 18
161
176
MONGODB_VERSION : 4.4.13
162
177
MONGODB_TOPOLOGY : standalone
163
- MONGODB_STORAGE_ENGINE : wiredTiger
164
- NODE_VERSION : 18.1.0
178
+ NODE_VERSION : 18.12.1
165
179
fail-fast : false
166
180
name : ${{ matrix.name }}
167
181
timeout-minutes : 15
168
- runs-on : ubuntu-20.04
182
+ runs-on : ubuntu-latest
169
183
services :
170
184
redis :
171
185
image : redis
172
186
ports :
173
187
- 6379:6379
174
- env :
188
+ env :
175
189
MONGODB_VERSION : ${{ matrix.MONGODB_VERSION }}
176
190
MONGODB_TOPOLOGY : ${{ matrix.MONGODB_TOPOLOGY }}
177
191
MONGODB_STORAGE_ENGINE : ${{ matrix.MONGODB_STORAGE_ENGINE }}
@@ -180,6 +194,9 @@ jobs:
180
194
steps :
181
195
- name : Fix usage of insecure GitHub protocol
182
196
run : sudo git config --system url."https://github".insteadOf "git://github"
197
+ - name : Fix git protocol for Node 14
198
+ if : ${{ startsWith(matrix.NODE_VERSION, '14.') }}
199
+ run : sudo git config --system url."https://github".insteadOf "ssh://git@github"
183
200
- uses : actions/checkout@v2
184
201
- name : Use Node.js ${{ matrix.NODE_VERSION }}
185
202
uses : actions/setup-node@v2
@@ -205,26 +222,32 @@ jobs:
205
222
include :
206
223
- name : PostgreSQL 11, PostGIS 3.0
207
224
POSTGRES_IMAGE : postgis/postgis:11-3.0
208
- NODE_VERSION : 16.14.2
225
+ NODE_VERSION : 19.3.0
209
226
- name : PostgreSQL 11, PostGIS 3.1
210
227
POSTGRES_IMAGE : postgis/postgis:11-3.1
211
- NODE_VERSION : 16.14.2
228
+ NODE_VERSION : 19.3.0
212
229
- name : PostgreSQL 11, PostGIS 3.2
213
230
POSTGRES_IMAGE : postgis/postgis:11-3.2
214
- NODE_VERSION : 16.14.2
215
- - name : PostgreSQL 12, PostGIS 3.2
216
- POSTGRES_IMAGE : postgis/postgis:12-3.2
217
- NODE_VERSION : 16.14.2
218
- - name : PostgreSQL 13, PostGIS 3.2
219
- POSTGRES_IMAGE : postgis/postgis:13-3.2
220
- NODE_VERSION : 16.14.2
221
- - name : PostgreSQL 14, PostGIS 3.2
222
- POSTGRES_IMAGE : postgis/postgis:14-3.2
223
- NODE_VERSION : 16.14.2
231
+ NODE_VERSION : 19.3.0
232
+ - name : PostgreSQL 11, PostGIS 3.3
233
+ POSTGRES_IMAGE : postgis/postgis:11-3.3
234
+ NODE_VERSION : 19.3.0
235
+ - name : PostgreSQL 12, PostGIS 3.3
236
+ POSTGRES_IMAGE : postgis/postgis:12-3.3
237
+ NODE_VERSION : 19.3.0
238
+ - name : PostgreSQL 13, PostGIS 3.3
239
+ POSTGRES_IMAGE : postgis/postgis:13-3.3
240
+ NODE_VERSION : 19.3.0
241
+ - name : PostgreSQL 14, PostGIS 3.3
242
+ POSTGRES_IMAGE : postgis/postgis:14-3.3
243
+ NODE_VERSION : 19.3.0
244
+ - name : PostgreSQL 15, PostGIS 3.3
245
+ POSTGRES_IMAGE : postgis/postgis:15-3.3
246
+ NODE_VERSION : 19.3.0
224
247
fail-fast : false
225
248
name : ${{ matrix.name }}
226
249
timeout-minutes : 15
227
- runs-on : ubuntu-20.04
250
+ runs-on : ubuntu-latest
228
251
services :
229
252
redis :
230
253
image : redis
@@ -267,3 +290,6 @@ jobs:
267
290
env :
268
291
CI : true
269
292
- run : bash <(curl -s https://codecov.io/bash)
293
+ concurrency :
294
+ group : ${{ github.workflow }}-${{ github.ref }}
295
+ cancel-in-progress : true
0 commit comments