11name : ci
22on :
33 push :
4- branches : [ release, alpha, beta, next-major, 'release-[0-9]+.x.x' ]
4+ branches : [release, alpha, beta, next-major, 'release-[0-9]+.x.x']
55 pull_request :
66 branches :
77 - ' **'
88 paths-ignore :
99 - ' **/**.md'
1010env :
11- NODE_VERSION : 19.3.0
11+ NODE_VERSION : 20.11.1
1212 PARSE_SERVER_TEST_TIMEOUT : 20000
1313jobs :
1414 check-code-analysis :
@@ -21,29 +21,29 @@ jobs:
2121 strategy :
2222 fail-fast : false
2323 matrix :
24- language : [ 'javascript' ]
24+ language : ['javascript']
2525 steps :
26- - name : Checkout repository
27- uses : actions/checkout@v3
28- - name : Initialize CodeQL
29- uses : github/codeql-action/init@v2
30- with :
31- languages : ${{ matrix.language }}
32- source-root : src
33- - name : Perform CodeQL Analysis
34- uses : github/codeql-action/analyze@v2
26+ - name : Checkout repository
27+ uses : actions/checkout@v4
28+ - name : Initialize CodeQL
29+ uses : github/codeql-action/init@v2
30+ with :
31+ languages : ${{ matrix.language }}
32+ source-root : src
33+ - name : Perform CodeQL Analysis
34+ uses : github/codeql-action/analyze@v2
3535 check-ci :
3636 name : Node Engine Check
3737 timeout-minutes : 15
3838 runs-on : ubuntu-latest
3939 steps :
40- - uses : actions/checkout@v2
40+ - uses : actions/checkout@v4
4141 - name : Use Node.js ${{ matrix.NODE_VERSION }}
42- uses : actions/setup-node@v2
42+ uses : actions/setup-node@v4
4343 with :
4444 node-version : ${{ matrix.node-version }}
4545 - name : Cache Node.js modules
46- uses : actions/cache@v2
46+ uses : actions/cache@v4
4747 with :
4848 path : ~/.npm
4949 key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
@@ -54,37 +54,37 @@ jobs:
5454 - name : CI Node Engine Check
5555 run : npm run ci:checkNodeEngine
5656 check-lint :
57- name : Lint
58- timeout-minutes : 15
59- runs-on : ubuntu-latest
60- steps :
61- - uses : actions/checkout@v2
62- - name : Use Node.js ${{ matrix.NODE_VERSION }}
63- uses : actions/setup-node@v2
64- with :
65- node-version : ${{ matrix.node-version }}
66- - name : Cache Node.js modules
67- uses : actions/cache@v2
68- with :
69- path : ~/.npm
70- key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
71- restore-keys : |
72- ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
73- - name : Install dependencies
74- run : npm ci
75- - run : npm run lint
57+ name : Lint
58+ timeout-minutes : 15
59+ runs-on : ubuntu-latest
60+ steps :
61+ - uses : actions/checkout@v4
62+ - name : Use Node.js ${{ matrix.NODE_VERSION }}
63+ uses : actions/setup-node@v4
64+ with :
65+ node-version : ${{ matrix.node-version }}
66+ - name : Cache Node.js modules
67+ uses : actions/cache@v4
68+ with :
69+ path : ~/.npm
70+ key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
71+ restore-keys : |
72+ ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
73+ - name : Install dependencies
74+ run : npm ci
75+ - run : npm run lint
7676 check-definitions :
77- name : Check Definitions
78- timeout-minutes : 5
79- runs-on : ubuntu-latest
80- steps :
81- - uses : actions/checkout@v2
77+ name : Check Definitions
78+ timeout-minutes : 5
79+ runs-on : ubuntu-latest
80+ steps :
81+ - uses : actions/checkout@v4
8282 - name : Use Node.js ${{ matrix.NODE_VERSION }}
83- uses : actions/setup-node@v2
83+ uses : actions/setup-node@v4
8484 with :
8585 node-version : ${{ matrix.node-version }}
8686 - name : Cache Node.js modules
87- uses : actions/cache@v2
87+ uses : actions/cache@v4
8888 with :
8989 path : ~/.npm
9090 key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
@@ -95,48 +95,48 @@ jobs:
9595 - name : CI Definitions Check
9696 run : npm run ci:definitionsCheck
9797 check-circular :
98- name : Circular Dependencies
99- timeout-minutes : 5
100- runs-on : ubuntu-latest
101- steps :
102- - uses : actions/checkout@v2
103- - name : Use Node.js ${{ matrix.NODE_VERSION }}
104- uses : actions/setup-node@v2
105- with :
106- node-version : ${{ matrix.node-version }}
107- - name : Cache Node.js modules
108- uses : actions/cache@v2
109- with :
110- path : ~/.npm
111- key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
112- restore-keys : |
113- ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
114- - name : Install dependencies
115- run : npm ci
116- - run : npm run madge:circular
98+ name : Circular Dependencies
99+ timeout-minutes : 5
100+ runs-on : ubuntu-latest
101+ steps :
102+ - uses : actions/checkout@v4
103+ - name : Use Node.js ${{ matrix.NODE_VERSION }}
104+ uses : actions/setup-node@v4
105+ with :
106+ node-version : ${{ matrix.node-version }}
107+ - name : Cache Node.js modules
108+ uses : actions/cache@v4
109+ with :
110+ path : ~/.npm
111+ key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
112+ restore-keys : |
113+ ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
114+ - name : Install dependencies
115+ run : npm ci
116+ - run : npm run madge:circular
117117 check-docker :
118118 name : Docker Build
119119 timeout-minutes : 15
120120 runs-on : ubuntu-latest
121121 steps :
122122 - name : Checkout repository
123- uses : actions/checkout@v2
123+ uses : actions/checkout@v4
124124 - name : Set up QEMU
125125 id : qemu
126- uses : docker/setup-qemu-action@v1
126+ uses : docker/setup-qemu-action@v2
127127 - name : Set up Docker Buildx
128- uses : docker/setup-buildx-action@v1
128+ uses : docker/setup-buildx-action@v2
129129 - name : Build docker image
130- uses : docker/build-push-action@v2
130+ uses : docker/build-push-action@v3
131131 with :
132132 context : .
133- platforms : linux/amd64
133+ platforms : linux/amd64, linux/arm64/v8
134134 check-lock-file-version :
135135 name : NPM Lock File Version
136136 timeout-minutes : 5
137137 runs-on : ubuntu-latest
138138 steps :
139- - uses : actions/checkout@v2
139+ - uses : actions/checkout@v4
140140 - name : Check NPM lock file version
141141 uses : mansona/npm-lockfile-version@v1
142142 with :
@@ -147,37 +147,33 @@ jobs:
147147 include :
148148 - name : MongoDB 4.2, ReplicaSet
149149 MONGODB_VERSION : 4.2.19
150- MONGODB_TOPOLOGY : replicaset
151- NODE_VERSION : 19.3.0
150+ MONGODB_TOPOLOGY : replset
151+ NODE_VERSION : 20.11.1
152152 - name : MongoDB 4.4, ReplicaSet
153153 MONGODB_VERSION : 4.4.13
154- MONGODB_TOPOLOGY : replicaset
155- NODE_VERSION : 19.3.0
154+ MONGODB_TOPOLOGY : replset
155+ NODE_VERSION : 20.11.1
156156 - name : MongoDB 5, ReplicaSet
157157 MONGODB_VERSION : 5.3.2
158- MONGODB_TOPOLOGY : replicaset
159- NODE_VERSION : 19.3.0
158+ MONGODB_TOPOLOGY : replset
159+ NODE_VERSION : 20.11.1
160160 - name : MongoDB 6, ReplicaSet
161161 MONGODB_VERSION : 6.0.2
162- MONGODB_TOPOLOGY : replicaset
163- NODE_VERSION : 19.3.0
162+ MONGODB_TOPOLOGY : replset
163+ NODE_VERSION : 20.11.1
164+ - name : MongoDB 7, ReplicaSet
165+ MONGODB_VERSION : 7.0.1
166+ MONGODB_TOPOLOGY : replset
167+ NODE_VERSION : 20.11.1
164168 - name : Redis Cache
165169 PARSE_SERVER_TEST_CACHE : redis
166170 MONGODB_VERSION : 4.4.13
167171 MONGODB_TOPOLOGY : standalone
168- NODE_VERSION : 19.3.0
169- - name : Node 14
170- MONGODB_VERSION : 4.4.13
171- MONGODB_TOPOLOGY : standalone
172- NODE_VERSION : 14.21.1
173- - name : Node 16
174- MONGODB_VERSION : 4.4.13
175- MONGODB_TOPOLOGY : standalone
176- NODE_VERSION : 16.18.1
172+ NODE_VERSION : 20.11.1
177173 - name : Node 18
178174 MONGODB_VERSION : 4.4.13
179175 MONGODB_TOPOLOGY : standalone
180- NODE_VERSION : 18.12 .1
176+ NODE_VERSION : 18.19 .1
181177 fail-fast : false
182178 name : ${{ matrix.name }}
183179 timeout-minutes : 15
@@ -186,7 +182,7 @@ jobs:
186182 redis :
187183 image : redis
188184 ports :
189- - 6379:6379
185+ - 6379:6379
190186 env :
191187 MONGODB_VERSION : ${{ matrix.MONGODB_VERSION }}
192188 MONGODB_TOPOLOGY : ${{ matrix.MONGODB_TOPOLOGY }}
@@ -196,16 +192,13 @@ jobs:
196192 steps :
197193 - name : Fix usage of insecure GitHub protocol
198194 run : sudo git config --system url."https://github".insteadOf "git://github"
199- - name : Fix git protocol for Node 14
200- if : ${{ startsWith(matrix.NODE_VERSION, '14.') }}
201- run : sudo git config --system url."https://github".insteadOf "ssh://git@github"
202- - uses : actions/checkout@v2
195+ - uses : actions/checkout@v4
203196 - name : Use Node.js ${{ matrix.NODE_VERSION }}
204- uses : actions/setup-node@v2
197+ uses : actions/setup-node@v4
205198 with :
206199 node-version : ${{ matrix.NODE_VERSION }}
207200 - name : Cache Node.js modules
208- uses : actions/cache@v2
201+ uses : actions/cache@v4
209202 with :
210203 path : ~/.npm
211204 key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
@@ -222,30 +215,27 @@ jobs:
222215 strategy :
223216 matrix :
224217 include :
225- - name : PostgreSQL 11, PostGIS 3.0
226- POSTGRES_IMAGE : postgis/postgis:11-3.0
227- NODE_VERSION : 19.3.0
228- - name : PostgreSQL 11, PostGIS 3.1
229- POSTGRES_IMAGE : postgis/postgis:11-3.1
230- NODE_VERSION : 19.3.0
231- - name : PostgreSQL 11, PostGIS 3.2
232- POSTGRES_IMAGE : postgis/postgis:11-3.2
233- NODE_VERSION : 19.3.0
234- - name : PostgreSQL 11, PostGIS 3.3
235- POSTGRES_IMAGE : postgis/postgis:11-3.3
236- NODE_VERSION : 19.3.0
237- - name : PostgreSQL 12, PostGIS 3.3
238- POSTGRES_IMAGE : postgis/postgis:12-3.3
239- NODE_VERSION : 19.3.0
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
240224 - name : PostgreSQL 13, PostGIS 3.3
241225 POSTGRES_IMAGE : postgis/postgis:13-3.3
242- NODE_VERSION : 19.3.0
243- - name : PostgreSQL 14, PostGIS 3.3
244- POSTGRES_IMAGE : postgis/postgis:14-3.3
245- NODE_VERSION : 19.3.0
246- - name : PostgreSQL 15, PostGIS 3.3
247- POSTGRES_IMAGE : postgis/postgis:15-3.3
248- NODE_VERSION : 19.3.0
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
233+ - name : PostgreSQL 15, PostGIS 3.4
234+ 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
249239 fail-fast : false
250240 name : ${{ matrix.name }}
251241 timeout-minutes : 15
@@ -271,13 +261,13 @@ jobs:
271261 PARSE_SERVER_TEST_DATABASE_URI : postgres://postgres:postgres@localhost:5432/parse_server_postgres_adapter_test_database
272262 NODE_VERSION : ${{ matrix.NODE_VERSION }}
273263 steps :
274- - uses : actions/checkout@v2
264+ - uses : actions/checkout@v4
275265 - name : Use Node.js ${{ matrix.NODE_VERSION }}
276- uses : actions/setup-node@v2
266+ uses : actions/setup-node@v4
277267 with :
278268 node-version : ${{ matrix.NODE_VERSION }}
279269 - name : Cache Node.js modules
280- uses : actions/cache@v2
270+ uses : actions/cache@v4
281271 with :
282272 path : ~/.npm
283273 key : ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
0 commit comments