11name : ci
22on :
33 push :
4- branches : [release, alpha, beta, next-major, 'release-[0-9]+.x.x' ]
4+ branches : [ release, alpha, beta, next-major ]
55 pull_request :
66 branches :
77 - ' **'
8- paths-ignore :
9- - ' **/**.md'
108env :
11- NODE_VERSION : 22.4.1
9+ NODE_VERSION : 16.13.0
1210 PARSE_SERVER_TEST_TIMEOUT : 20000
13- permissions :
14- actions : write
1511jobs :
16- check-code-analysis :
17- name : Code Analysis
18- runs-on : ubuntu-latest
19- permissions :
20- actions : read
21- contents : read
22- security-events : write
23- strategy :
24- fail-fast : false
25- matrix :
26- language : ['javascript']
27- steps :
28- - name : Checkout repository
29- uses : actions/checkout@v4
30- - name : Initialize CodeQL
31- uses : github/codeql-action/init@v2
32- with :
33- languages : ${{ matrix.language }}
34- source-root : src
35- - name : Perform CodeQL Analysis
36- uses : github/codeql-action/analyze@v2
3712 check-ci :
3813 name : Node Engine Check
3914 timeout-minutes : 15
40- runs-on : ubuntu-latest
41- steps :
42- - uses : actions/checkout@v4
43- - name : Use Node.js ${{ matrix.NODE_VERSION }}
44- uses : actions/setup-node@v4
45- with :
46- node-version : ${{ matrix.node-version }}
47- - name : Install prod dependencies
48- run : npm ci
49- - name : Remove dev dependencies
50- run : ./ci/uninstallDevDeps.sh @actions/core
51- - name : CI Node Engine Check
52- run : npm run ci:checkNodeEngine
53- check-lint :
54- name : Lint
55- timeout-minutes : 15
56- runs-on : ubuntu-latest
57- steps :
58- - uses : actions/checkout@v4
59- - name : Use Node.js ${{ matrix.NODE_VERSION }}
60- uses : actions/setup-node@v4
61- with :
62- node-version : ${{ matrix.node-version }}
63- - name : Cache Node.js modules
64- uses : actions/cache@v4
65- with :
66- path : ~/.npm
67- key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
68- restore-keys : |
69- ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
70- - name : Install dependencies
71- run : npm ci
72- - run : npm run lint
73- check-definitions :
74- name : Check Definitions
75- timeout-minutes : 5
76- runs-on : ubuntu-latest
15+ runs-on : ubuntu-18.04
7716 steps :
78- - uses : actions/checkout@v4
17+ - uses : actions/checkout@v2
7918 - name : Use Node.js ${{ matrix.NODE_VERSION }}
80- uses : actions/setup-node@v4
19+ uses : actions/setup-node@v2
8120 with :
8221 node-version : ${{ matrix.node-version }}
8322 - name : Cache Node.js modules
84- uses : actions/cache@v4
23+ uses : actions/cache@v2
8524 with :
8625 path : ~/.npm
8726 key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
8827 restore-keys : |
8928 ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
9029 - name : Install dependencies
9130 run : npm ci
92- - name : CI Definitions Check
93- run : npm run ci:definitionsCheck
31+ - name : CI Node Engine Check
32+ run : npm run ci:checkNodeEngine
33+ check-lint :
34+ name : Lint
35+ timeout-minutes : 15
36+ runs-on : ubuntu-18.04
37+ steps :
38+ - uses : actions/checkout@v2
39+ - name : Use Node.js ${{ matrix.NODE_VERSION }}
40+ uses : actions/setup-node@v2
41+ with :
42+ node-version : ${{ matrix.node-version }}
43+ - name : Cache Node.js modules
44+ uses : actions/cache@v2
45+ with :
46+ path : ~/.npm
47+ key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
48+ restore-keys : |
49+ ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
50+ - name : Install dependencies
51+ run : npm ci
52+ - run : npm run lint
9453 check-circular :
95- name : Circular Dependencies
96- timeout-minutes : 5
97- runs-on : ubuntu-latest
98- steps :
99- - uses : actions/checkout@v4
100- - name : Use Node.js ${{ matrix.NODE_VERSION }}
101- uses : actions/setup-node@v4
102- with :
103- node-version : ${{ matrix.node-version }}
104- - name : Cache Node.js modules
105- uses : actions/cache@v4
106- with :
107- path : ~/.npm
108- key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
109- restore-keys : |
110- ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
111- - name : Install dependencies
112- run : npm ci
113- - run : npm run madge:circular
54+ name : Circular Dependencies
55+ timeout-minutes : 5
56+ runs-on : ubuntu-18.04
57+ steps :
58+ - uses : actions/checkout@v2
59+ - name : Use Node.js ${{ matrix.NODE_VERSION }}
60+ uses : actions/setup-node@v2
61+ with :
62+ node-version : ${{ matrix.node-version }}
63+ - name : Cache Node.js modules
64+ uses : actions/cache@v2
65+ with :
66+ path : ~/.npm
67+ key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
68+ restore-keys : |
69+ ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
70+ - name : Install dependencies
71+ run : npm ci
72+ - run : npm run madge:circular
11473 check-docker :
11574 name : Docker Build
11675 timeout-minutes : 15
117- runs-on : ubuntu-latest
76+ runs-on : ubuntu-18.04
11877 steps :
11978 - name : Checkout repository
120- uses : actions/checkout@v4
79+ uses : actions/checkout@v2
12180 - name : Set up QEMU
12281 id : qemu
123- uses : docker/setup-qemu-action@v2
82+ uses : docker/setup-qemu-action@v1
12483 - name : Set up Docker Buildx
125- uses : docker/setup-buildx-action@v2
84+ uses : docker/setup-buildx-action@v1
12685 - name : Build docker image
127- uses : docker/build-push-action@v3
86+ uses : docker/build-push-action@v2
12887 with :
12988 context : .
130- platforms : linux/amd64, linux/arm64/v8
89+ platforms : linux/amd64
13190 check-lock-file-version :
13291 name : NPM Lock File Version
13392 timeout-minutes : 5
134- runs-on : ubuntu-latest
93+ runs-on : ubuntu-18.04
13594 steps :
136- - uses : actions/checkout@v4
95+ - uses : actions/checkout@v2
13796 - name : Check NPM lock file version
13897 uses : mansona/npm-lockfile-version@v1
13998 with :
140- version : 2
99+ version : 1
141100 check-mongo :
142101 strategy :
143102 matrix :
144103 include :
145- - name : MongoDB 5.2, ReplicaSet, WiredTiger
146- MONGODB_VERSION : 5.2.1
147- MONGODB_TOPOLOGY : replicaset
148- MONGODB_STORAGE_ENGINE : wiredTiger
149- NODE_VERSION : 14.18.1
150104 - name : MongoDB 5.1, ReplicaSet, WiredTiger
151- MONGODB_VERSION : 5.1.1
105+ MONGODB_VERSION : 5.1.0
152106 MONGODB_TOPOLOGY : replicaset
153107 MONGODB_STORAGE_ENGINE : wiredTiger
154108 NODE_VERSION : 14.18.1
155109 - name : MongoDB 5.0, ReplicaSet, WiredTiger
156- MONGODB_VERSION : 5.0.6
110+ MONGODB_VERSION : 5.0.3
157111 MONGODB_TOPOLOGY : replicaset
158112 MONGODB_STORAGE_ENGINE : wiredTiger
159113 NODE_VERSION : 16.13.0
@@ -179,42 +133,43 @@ jobs:
179133 NODE_VERSION : 16.13.0
180134 - name : Redis Cache
181135 PARSE_SERVER_TEST_CACHE : redis
182- MONGODB_VERSION : 8.0.0
136+ MONGODB_VERSION : 4.4.10
183137 MONGODB_TOPOLOGY : standalone
184- NODE_VERSION : 22.4.1
185- - name : Node 20
186- MONGODB_VERSION : 8.0.0
138+ MONGODB_STORAGE_ENGINE : wiredTiger
139+ NODE_VERSION : 16.13.0
140+ - name : Node 12
141+ MONGODB_VERSION : 4.4.10
187142 MONGODB_TOPOLOGY : standalone
188- NODE_VERSION : 20.15.1
189- - name : Node 18
190- MONGODB_VERSION : 8.0.0
143+ MONGODB_STORAGE_ENGINE : wiredTiger
144+ NODE_VERSION : 12.22.7
145+ - name : Node 14
146+ MONGODB_VERSION : 4.4.10
191147 MONGODB_TOPOLOGY : standalone
192- NODE_VERSION : 18.20.4
148+ MONGODB_STORAGE_ENGINE : wiredTiger
149+ NODE_VERSION : 14.18.1
193150 fail-fast : false
194151 name : ${{ matrix.name }}
195- timeout-minutes : 20
196- runs-on : ubuntu-latest
152+ timeout-minutes : 15
153+ runs-on : ubuntu-18.04
197154 services :
198155 redis :
199156 image : redis
200157 ports :
201- - 6379:6379
202- env :
158+ - 6379:6379
159+ env :
203160 MONGODB_VERSION : ${{ matrix.MONGODB_VERSION }}
204161 MONGODB_TOPOLOGY : ${{ matrix.MONGODB_TOPOLOGY }}
205162 MONGODB_STORAGE_ENGINE : ${{ matrix.MONGODB_STORAGE_ENGINE }}
206163 PARSE_SERVER_TEST_CACHE : ${{ matrix.PARSE_SERVER_TEST_CACHE }}
207164 NODE_VERSION : ${{ matrix.NODE_VERSION }}
208165 steps :
209- - name : Fix usage of insecure GitHub protocol
210- run : sudo git config --system url."https://github".insteadOf "git://github"
211- - uses : actions/checkout@v4
166+ - uses : actions/checkout@v2
212167 - name : Use Node.js ${{ matrix.NODE_VERSION }}
213- uses : actions/setup-node@v4
168+ uses : actions/setup-node@v2
214169 with :
215170 node-version : ${{ matrix.NODE_VERSION }}
216171 - name : Cache Node.js modules
217- uses : actions/cache@v4
172+ uses : actions/cache@v2
218173 with :
219174 path : ~/.npm
220175 key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
@@ -226,47 +181,33 @@ jobs:
226181 - run : npm run coverage
227182 env :
228183 CI : true
229- - name : Upload code coverage
230- uses : codecov/codecov-action@v4
231- with :
232- # Set to `true` once codecov token bug is fixed; https://github.com/parse-community/parse-server/issues/9129
233- fail_ci_if_error : false
234- token : ${{ secrets.CODECOV_TOKEN }}
184+ - run : bash <(curl -s https://codecov.io/bash)
235185 check-postgres :
236186 strategy :
237187 matrix :
238188 include :
239- - name : PostgreSQL 13, PostGIS 3.1
240- POSTGRES_IMAGE : postgis/postgis:13-3.1
241- NODE_VERSION : 22.4.1
189+ - name : PostgreSQL 11, PostGIS 3.0
190+ POSTGRES_IMAGE : postgis/postgis:11-3.0
191+ NODE_VERSION : 16.13.0
192+ - name : PostgreSQL 11, PostGIS 3.1
193+ POSTGRES_IMAGE : postgis/postgis:11-3.1
194+ NODE_VERSION : 16.13.0
195+ - name : PostgreSQL 11, PostGIS 3.2
196+ POSTGRES_IMAGE : postgis/postgis:11-3.2
197+ NODE_VERSION : 16.13.0
198+ - name : PostgreSQL 12, PostGIS 3.2
199+ POSTGRES_IMAGE : postgis/postgis:12-3.2
200+ NODE_VERSION : 16.13.0
242201 - name : PostgreSQL 13, PostGIS 3.2
243202 POSTGRES_IMAGE : postgis/postgis:13-3.2
244- NODE_VERSION : 22.4.1
245- - name : PostgreSQL 13, PostGIS 3.3
246- POSTGRES_IMAGE : postgis/postgis:13-3.3
247- NODE_VERSION : 22.4.1
248- - name : PostgreSQL 13, PostGIS 3.4
249- POSTGRES_IMAGE : postgis/postgis:13-3.4
250- NODE_VERSION : 22.4.1
251- - name : PostgreSQL 13, PostGIS 3.5
252- POSTGRES_IMAGE : postgis/postgis:13-3.5
253- NODE_VERSION : 22.4.1
254- - name : PostgreSQL 14, PostGIS 3.5
255- POSTGRES_IMAGE : postgis/postgis:14-3.5
256- NODE_VERSION : 22.4.1
257- - name : PostgreSQL 15, PostGIS 3.5
258- POSTGRES_IMAGE : postgis/postgis:15-3.5
259- NODE_VERSION : 22.4.1
260- - name : PostgreSQL 16, PostGIS 3.5
261- POSTGRES_IMAGE : postgis/postgis:16-3.5
262- NODE_VERSION : 22.4.1
263- - name : PostgreSQL 17, PostGIS 3.5
264- POSTGRES_IMAGE : postgis/postgis:17-3.5
265- NODE_VERSION : 22.4.1
203+ NODE_VERSION : 16.13.0
204+ - name : PostgreSQL 14, PostGIS 3.2
205+ POSTGRES_IMAGE : postgis/postgis:14-3.2
206+ NODE_VERSION : 16.13.0
266207 fail-fast : false
267208 name : ${{ matrix.name }}
268- timeout-minutes : 20
269- runs-on : ubuntu-latest
209+ timeout-minutes : 15
210+ runs-on : ubuntu-18.04
270211 services :
271212 redis :
272213 image : redis
@@ -288,13 +229,13 @@ jobs:
288229 PARSE_SERVER_TEST_DATABASE_URI : postgres://postgres:postgres@localhost:5432/parse_server_postgres_adapter_test_database
289230 NODE_VERSION : ${{ matrix.NODE_VERSION }}
290231 steps :
291- - uses : actions/checkout@v4
232+ - uses : actions/checkout@v2
292233 - name : Use Node.js ${{ matrix.NODE_VERSION }}
293- uses : actions/setup-node@v4
234+ uses : actions/setup-node@v2
294235 with :
295236 node-version : ${{ matrix.NODE_VERSION }}
296237 - name : Cache Node.js modules
297- uses : actions/cache@v4
238+ uses : actions/cache@v2
298239 with :
299240 path : ~/.npm
300241 key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
@@ -308,13 +249,4 @@ jobs:
308249 - run : npm run coverage
309250 env :
310251 CI : true
311- - name : Upload code coverage
312- uses : codecov/codecov-action@v4
313- with :
314- fail_ci_if_error : false
315- token : ${{ secrets.CODECOV_TOKEN }}
316- env :
317- CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
318- concurrency :
319- group : ${{ github.workflow }}-${{ github.ref }}
320- cancel-in-progress : true
252+ - run : bash <(curl -s https://codecov.io/bash)
0 commit comments