Skip to content

Commit ae8d082

Browse files
authored
ci: adapt to new MongoDB lifecycle schedule (#8195)
1 parent 377ce67 commit ae8d082

File tree

4 files changed

+47
-62
lines changed

4 files changed

+47
-62
lines changed

.github/workflows/ci.yml

+28-38
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
pull_request:
66
branches: [ release, alpha, beta ]
77
env:
8-
NODE_VERSION: 16.14.2
8+
NODE_VERSION: 18.1.0
99
PARSE_SERVER_TEST_TIMEOUT: 20000
1010
jobs:
1111
check-code-analysis:
@@ -121,47 +121,37 @@ jobs:
121121
strategy:
122122
matrix:
123123
include:
124-
- name: MongoDB 5.2, ReplicaSet, WiredTiger
125-
MONGODB_VERSION: 5.2.1
126-
MONGODB_TOPOLOGY: replicaset
127-
MONGODB_STORAGE_ENGINE: wiredTiger
128-
NODE_VERSION: 14.19.1
129-
- name: MongoDB 5.1, ReplicaSet, WiredTiger
130-
MONGODB_VERSION: 5.1.1
124+
- name: MongoDB 4.0, Standalone, MMAPv1
125+
MONGODB_VERSION: 4.0.28
126+
MONGODB_TOPOLOGY: standalone
127+
MONGODB_STORAGE_ENGINE: mmapv1
128+
NODE_VERSION: 18.1.0
129+
- name: MongoDB 4.0, ReplicaSet, WiredTiger
130+
MONGODB_VERSION: 4.0.28
131131
MONGODB_TOPOLOGY: replicaset
132132
MONGODB_STORAGE_ENGINE: wiredTiger
133-
NODE_VERSION: 14.19.1
134-
- name: MongoDB 5.0, ReplicaSet, WiredTiger
135-
MONGODB_VERSION: 5.0.6
133+
NODE_VERSION: 18.1.0
134+
- name: MongoDB 4.2, ReplicaSet, WiredTiger
135+
MONGODB_VERSION: 4.2.19
136136
MONGODB_TOPOLOGY: replicaset
137137
MONGODB_STORAGE_ENGINE: wiredTiger
138-
NODE_VERSION: 16.14.2
138+
NODE_VERSION: 18.1.0
139139
- name: MongoDB 4.4, ReplicaSet, WiredTiger
140140
MONGODB_VERSION: 4.4.13
141141
MONGODB_TOPOLOGY: replicaset
142142
MONGODB_STORAGE_ENGINE: wiredTiger
143-
NODE_VERSION: 16.14.2
144-
- name: MongoDB 4.2, ReplicaSet, WiredTiger
145-
MONGODB_VERSION: 4.2.19
146-
MONGODB_TOPOLOGY: replicaset
147-
MONGODB_STORAGE_ENGINE: wiredTiger
148-
NODE_VERSION: 16.14.2
149-
- name: MongoDB 4.0, ReplicaSet, WiredTiger
150-
MONGODB_VERSION: 4.0.28
143+
NODE_VERSION: 18.1.0
144+
- name: MongoDB 5.3, ReplicaSet, WiredTiger
145+
MONGODB_VERSION: 5.3.2
151146
MONGODB_TOPOLOGY: replicaset
152147
MONGODB_STORAGE_ENGINE: wiredTiger
153-
NODE_VERSION: 16.14.2
154-
- name: MongoDB 4.0, Standalone, MMAPv1
155-
MONGODB_VERSION: 4.0.28
156-
MONGODB_TOPOLOGY: standalone
157-
MONGODB_STORAGE_ENGINE: mmapv1
158-
NODE_VERSION: 16.14.2
148+
NODE_VERSION: 18.1.0
159149
- name: Redis Cache
160150
PARSE_SERVER_TEST_CACHE: redis
161151
MONGODB_VERSION: 4.4.13
162152
MONGODB_TOPOLOGY: standalone
163153
MONGODB_STORAGE_ENGINE: wiredTiger
164-
NODE_VERSION: 16.14.2
154+
NODE_VERSION: 18.1.0
165155
- name: Node 12
166156
MONGODB_VERSION: 4.4.13
167157
MONGODB_TOPOLOGY: standalone
@@ -172,16 +162,16 @@ jobs:
172162
MONGODB_TOPOLOGY: standalone
173163
MONGODB_STORAGE_ENGINE: wiredTiger
174164
NODE_VERSION: 14.19.1
175-
- name: Node 17
165+
- name: Node 16
176166
MONGODB_VERSION: 4.4.13
177167
MONGODB_TOPOLOGY: standalone
178168
MONGODB_STORAGE_ENGINE: wiredTiger
179-
NODE_VERSION: 17.9.0
180-
- name: Node 18
169+
NODE_VERSION: 16.14.2
170+
- name: Node 17
181171
MONGODB_VERSION: 4.4.13
182172
MONGODB_TOPOLOGY: standalone
183173
MONGODB_STORAGE_ENGINE: wiredTiger
184-
NODE_VERSION: 18.1.0
174+
NODE_VERSION: 17.9.0
185175
fail-fast: false
186176
name: ${{ matrix.name }}
187177
timeout-minutes: 15
@@ -225,25 +215,25 @@ jobs:
225215
include:
226216
- name: PostgreSQL 11, PostGIS 3.0
227217
POSTGRES_IMAGE: postgis/postgis:11-3.0
228-
NODE_VERSION: 16.14.2
218+
NODE_VERSION: 18.1.0
229219
- name: PostgreSQL 11, PostGIS 3.1
230220
POSTGRES_IMAGE: postgis/postgis:11-3.1
231-
NODE_VERSION: 16.14.2
221+
NODE_VERSION: 18.1.0
232222
- name: PostgreSQL 11, PostGIS 3.2
233223
POSTGRES_IMAGE: postgis/postgis:11-3.2
234-
NODE_VERSION: 16.14.2
224+
NODE_VERSION: 18.1.0
235225
- name: PostgreSQL 11, PostGIS 3.3
236226
POSTGRES_IMAGE: postgis/postgis:11-3.3
237-
NODE_VERSION: 16.14.2
227+
NODE_VERSION: 18.1.0
238228
- name: PostgreSQL 12, PostGIS 3.3
239229
POSTGRES_IMAGE: postgis/postgis:12-3.3
240-
NODE_VERSION: 16.14.2
230+
NODE_VERSION: 18.1.0
241231
- name: PostgreSQL 13, PostGIS 3.3
242232
POSTGRES_IMAGE: postgis/postgis:13-3.3
243-
NODE_VERSION: 16.14.2
233+
NODE_VERSION: 18.1.0
244234
- name: PostgreSQL 14, PostGIS 3.3
245235
POSTGRES_IMAGE: postgis/postgis:14-3.3
246-
NODE_VERSION: 16.14.2
236+
NODE_VERSION: 18.1.0
247237
fail-fast: false
248238
name: ${{ matrix.name }}
249239
timeout-minutes: 15

README.md

+13-14
Original file line numberDiff line numberDiff line change
@@ -134,27 +134,26 @@ Parse Server is continuously tested with the most recent releases of Node.js to
134134

135135
#### MongoDB
136136

137-
Parse Server is continuously tested with the most recent releases of MongoDB to ensure compatibility. We follow the [MongoDB support schedule](https://www.mongodb.com/support-policy) and only test against versions that are officially supported and have not reached their end-of-life date.
137+
Parse Server is continuously tested with the most recent releases of MongoDB to ensure compatibility. We follow the [MongoDB support schedule](https://www.mongodb.com/support-policy) and [MongoDB lifecycle schedule](https://www.mongodb.com/support-policy/lifecycles) and only test against versions that are officially supported and have not reached their end-of-life date. We consider the end-of-life date of a MongoDB "rapid release" to be the same as its major version release.
138138

139-
| Version | Latest Version | End-of-Life | Compatible |
140-
|-------------|----------------|-------------|------------|
141-
| MongoDB 4.0 | 4.0.28 | April 2022 | ✅ Yes |
142-
| MongoDB 4.2 | 4.2.19 | TBD | ✅ Yes |
143-
| MongoDB 4.4 | 4.4.13 | TBD | ✅ Yes |
144-
| MongoDB 5.0 | 5.0.6 | TBD | ✅ Yes |
145-
| MongoDB 5.1 | 5.1.1 | TBD | ✅ Yes |
146-
| MongoDB 5.2 | 5.2.1 | TBD | ✅ Yes |
139+
| Version | Latest Version | End-of-Life | Compatible |
140+
|-------------|----------------|---------------|--------------|
141+
| MongoDB 4.0 | 4.0.28 | April 2022 | ✅ Yes |
142+
| MongoDB 4.2 | 4.2.19 | April 2023 | ✅ Yes |
143+
| MongoDB 4.4 | 4.4.13 | February 2024 | ✅ Yes |
144+
| MongoDB 5.3 | 5.3.2 | October 2024 | ✅ Yes |
145+
| MongoDB 6.0 | - | July 2025 | ❌ Not tested |
147146

148147
#### PostgreSQL
149148

150149
Parse Server is continuously tested with the most recent releases of PostgreSQL and PostGIS to ensure compatibility, using [PostGIS docker images](https://registry.hub.docker.com/r/postgis/postgis/tags?page=1&ordering=last_updated). We follow the [PostgreSQL support schedule](https://www.postgresql.org/support/versioning) and [PostGIS support schedule](https://www.postgis.net/eol_policy/) and only test against versions that are officially supported and have not reached their end-of-life date. Due to the extensive PostgreSQL support duration of 5 years, Parse Server drops support about 2 years before the official end-of-life date.
151150

152-
| Version | PostGIS Version | End-of-Life | Parse Server Support | Compatible |
153-
|-------------|-----------------|---------------|----------------------|------------|
151+
| Version | PostGIS Version | End-of-Life | Parse Server Support | Compatible |
152+
|-------------|--------------------|---------------|----------------------|------------|
154153
| Postgres 11 | 3.0, 3.1, 3.2, 3.3 | November 2023 | <= 5.x (2022) | ✅ Yes |
155-
| Postgres 12 | 3.3 | November 2024 | <= 5.x (2022) | ✅ Yes |
156-
| Postgres 13 | 3.3 | November 2025 | <= 6.x (2023) | ✅ Yes |
157-
| Postgres 14 | 3.3 | November 2026 | <= 7.x (2024) | ✅ Yes |
154+
| Postgres 12 | 3.3 | November 2024 | <= 5.x (2022) | ✅ Yes |
155+
| Postgres 13 | 3.3 | November 2025 | <= 6.x (2023) | ✅ Yes |
156+
| Postgres 14 | 3.3 | November 2026 | <= 7.x (2024) | ✅ Yes |
158157

159158
### Locally
160159

ci/ciCheck.js

+1-3
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,12 @@ async function checkMongoDbVersions() {
3030
ciEnvironmentsKeyPath: 'jobs.check-mongo.strategy.matrix.include',
3131
ciVersionKey: 'MONGODB_VERSION',
3232
releasedVersions,
33-
latestComponent: CiVersionCheck.versionComponents.path,
33+
latestComponent: CiVersionCheck.versionComponents.minor,
3434
ignoreReleasedVersions: [
3535
'<4.0.0', // Versions reached their MongoDB end-of-life support date
3636
'~4.1.0', // Development release according to MongoDB support
3737
'~4.3.0', // Development release according to MongoDB support
3838
'~4.7.0', // Development release according to MongoDB support
39-
40-
'4.0.26', // Temporarily disabled because not yet available for download via mongodb-runner
4139
],
4240
}).check();
4341
}

package.json

+5-7
Original file line numberDiff line numberDiff line change
@@ -118,15 +118,13 @@
118118
"test:mongodb:4.0.28": "npm run test:mongodb --dbversion=4.0.28",
119119
"test:mongodb:4.2.19": "npm run test:mongodb --dbversion=4.2.19",
120120
"test:mongodb:4.4.13": "npm run test:mongodb --dbversion=4.4.13",
121-
"test:mongodb:5.0.6": "npm run test:mongodb --dbversion=5.0.6",
122-
"test:mongodb:5.1.1": "npm run test:mongodb --dbversion=5.1.1",
123-
"test:mongodb:5.2.1": "npm run test:mongodb --dbversion=5.2.1",
121+
"test:mongodb:5.3.2": "npm run test:mongodb --dbversion=5.3.2",
124122
"posttest:mongodb": "mongodb-runner stop",
125-
"pretest": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=5.2.1} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} mongodb-runner start",
126-
"testonly": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=5.2.1} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} TESTING=1 jasmine",
123+
"pretest": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=5.3.2} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} mongodb-runner start",
124+
"testonly": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=5.3.2} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} TESTING=1 jasmine",
127125
"test": "npm run testonly",
128-
"posttest": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=5.2.1} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} mongodb-runner stop",
129-
"coverage": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=5.2.1} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} TESTING=1 nyc jasmine",
126+
"posttest": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=5.3.2} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} mongodb-runner stop",
127+
"coverage": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=5.3.2} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} TESTING=1 nyc jasmine",
130128
"start": "node ./bin/parse-server",
131129
"prettier": "prettier --write {src,spec}/{**/*,*}.js",
132130
"prepare": "npm run build",

0 commit comments

Comments
 (0)