From 75d0c7cab153d4811a38dcac71a9b6c6511c32f7 Mon Sep 17 00:00:00 2001 From: Manuel <5673677+mtrezza@users.noreply.github.com> Date: Sat, 24 Sep 2022 13:56:05 +0200 Subject: [PATCH 1/5] docs: adapt CI jobs to new MongoDB lifecycle schedule --- README.md | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index e5be7b1dc0..c578e320a6 100644 --- a/README.md +++ b/README.md @@ -134,16 +134,15 @@ Parse Server is continuously tested with the most recent releases of Node.js to #### MongoDB -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. - -| Version | Latest Version | End-of-Life | Compatible | -|-------------|----------------|-------------|------------| -| MongoDB 4.0 | 4.0.28 | April 2022 | ✅ Yes | -| MongoDB 4.2 | 4.2.19 | TBD | ✅ Yes | -| MongoDB 4.4 | 4.4.13 | TBD | ✅ Yes | -| MongoDB 5.0 | 5.0.6 | TBD | ✅ Yes | -| MongoDB 5.1 | 5.1.1 | TBD | ✅ Yes | -| MongoDB 5.2 | 5.2.1 | TBD | ✅ Yes | +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. + +| Version | Latest Version | End-of-Life | Compatible | +|-------------|----------------|---------------|---------------| +| MongoDB 4.0 | 4.0.28 | April 2022 | ✅ Yes | +| MongoDB 4.2 | 4.2.19 | April 2023 | ✅ Yes | +| MongoDB 4.4 | 4.4.13 | February 2024 | ✅ Yes | +| MongoDB 5.2 | 5.2.1 | April 2022 | ✅ Yes | +| MongoDB 6.0 | - | July 2025 | ❌ Not tested | #### PostgreSQL From e19c94079c432b58129c3e948625401894578d92 Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sat, 24 Sep 2022 14:12:15 +0200 Subject: [PATCH 2/5] remove minor versions --- .github/workflows/ci.yml | 66 +++++++++++++++++----------------------- README.md | 16 +++++----- 2 files changed, 36 insertions(+), 46 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4442174502..ecf73bb5d1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,7 +5,7 @@ on: pull_request: branches: [ release, alpha, beta ] env: - NODE_VERSION: 16.14.2 + NODE_VERSION: 18.1.0 PARSE_SERVER_TEST_TIMEOUT: 20000 jobs: check-code-analysis: @@ -121,47 +121,37 @@ jobs: strategy: matrix: include: - - name: MongoDB 5.2, ReplicaSet, WiredTiger - MONGODB_VERSION: 5.2.1 - MONGODB_TOPOLOGY: replicaset - MONGODB_STORAGE_ENGINE: wiredTiger - NODE_VERSION: 14.19.1 - - name: MongoDB 5.1, ReplicaSet, WiredTiger - MONGODB_VERSION: 5.1.1 + - name: MongoDB 4.0, Standalone, MMAPv1 + MONGODB_VERSION: 4.0.28 + MONGODB_TOPOLOGY: standalone + MONGODB_STORAGE_ENGINE: mmapv1 + NODE_VERSION: 18.1.0 + - name: MongoDB 4.0, ReplicaSet, WiredTiger + MONGODB_VERSION: 4.0.28 MONGODB_TOPOLOGY: replicaset MONGODB_STORAGE_ENGINE: wiredTiger - NODE_VERSION: 14.19.1 - - name: MongoDB 5.0, ReplicaSet, WiredTiger - MONGODB_VERSION: 5.0.6 + NODE_VERSION: 18.1.0 + - name: MongoDB 4.2, ReplicaSet, WiredTiger + MONGODB_VERSION: 4.2.19 MONGODB_TOPOLOGY: replicaset MONGODB_STORAGE_ENGINE: wiredTiger - NODE_VERSION: 16.14.2 + NODE_VERSION: 18.1.0 - name: MongoDB 4.4, ReplicaSet, WiredTiger MONGODB_VERSION: 4.4.13 MONGODB_TOPOLOGY: replicaset MONGODB_STORAGE_ENGINE: wiredTiger - NODE_VERSION: 16.14.2 - - name: MongoDB 4.2, ReplicaSet, WiredTiger - MONGODB_VERSION: 4.2.19 - MONGODB_TOPOLOGY: replicaset - MONGODB_STORAGE_ENGINE: wiredTiger - NODE_VERSION: 16.14.2 - - name: MongoDB 4.0, ReplicaSet, WiredTiger - MONGODB_VERSION: 4.0.28 + NODE_VERSION: 18.1.0 + - name: MongoDB 5.2, ReplicaSet, WiredTiger + MONGODB_VERSION: 5.2.1 MONGODB_TOPOLOGY: replicaset MONGODB_STORAGE_ENGINE: wiredTiger - NODE_VERSION: 16.14.2 - - name: MongoDB 4.0, Standalone, MMAPv1 - MONGODB_VERSION: 4.0.28 - MONGODB_TOPOLOGY: standalone - MONGODB_STORAGE_ENGINE: mmapv1 - NODE_VERSION: 16.14.2 + NODE_VERSION: 18.1.0 - name: Redis Cache PARSE_SERVER_TEST_CACHE: redis MONGODB_VERSION: 4.4.13 MONGODB_TOPOLOGY: standalone MONGODB_STORAGE_ENGINE: wiredTiger - NODE_VERSION: 16.14.2 + NODE_VERSION: 18.1.0 - name: Node 12 MONGODB_VERSION: 4.4.13 MONGODB_TOPOLOGY: standalone @@ -172,16 +162,16 @@ jobs: MONGODB_TOPOLOGY: standalone MONGODB_STORAGE_ENGINE: wiredTiger NODE_VERSION: 14.19.1 - - name: Node 17 + - name: Node 16 MONGODB_VERSION: 4.4.13 MONGODB_TOPOLOGY: standalone MONGODB_STORAGE_ENGINE: wiredTiger - NODE_VERSION: 17.9.0 - - name: Node 18 + NODE_VERSION: 16.14.2 + - name: Node 17 MONGODB_VERSION: 4.4.13 MONGODB_TOPOLOGY: standalone MONGODB_STORAGE_ENGINE: wiredTiger - NODE_VERSION: 18.1.0 + NODE_VERSION: 17.9.0 fail-fast: false name: ${{ matrix.name }} timeout-minutes: 15 @@ -225,25 +215,25 @@ jobs: include: - name: PostgreSQL 11, PostGIS 3.0 POSTGRES_IMAGE: postgis/postgis:11-3.0 - NODE_VERSION: 16.14.2 + NODE_VERSION: 18.1.0 - name: PostgreSQL 11, PostGIS 3.1 POSTGRES_IMAGE: postgis/postgis:11-3.1 - NODE_VERSION: 16.14.2 + NODE_VERSION: 18.1.0 - name: PostgreSQL 11, PostGIS 3.2 POSTGRES_IMAGE: postgis/postgis:11-3.2 - NODE_VERSION: 16.14.2 + NODE_VERSION: 18.1.0 - name: PostgreSQL 11, PostGIS 3.3 POSTGRES_IMAGE: postgis/postgis:11-3.3 - NODE_VERSION: 16.14.2 + NODE_VERSION: 18.1.0 - name: PostgreSQL 12, PostGIS 3.3 POSTGRES_IMAGE: postgis/postgis:12-3.3 - NODE_VERSION: 16.14.2 + NODE_VERSION: 18.1.0 - name: PostgreSQL 13, PostGIS 3.3 POSTGRES_IMAGE: postgis/postgis:13-3.3 - NODE_VERSION: 16.14.2 + NODE_VERSION: 18.1.0 - name: PostgreSQL 14, PostGIS 3.3 POSTGRES_IMAGE: postgis/postgis:14-3.3 - NODE_VERSION: 16.14.2 + NODE_VERSION: 18.1.0 fail-fast: false name: ${{ matrix.name }} timeout-minutes: 15 diff --git a/README.md b/README.md index c578e320a6..b88d89d592 100644 --- a/README.md +++ b/README.md @@ -136,24 +136,24 @@ Parse Server is continuously tested with the most recent releases of Node.js to 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. -| Version | Latest Version | End-of-Life | Compatible | -|-------------|----------------|---------------|---------------| +| Version | Latest Version | End-of-Life | Compatible | +|-------------|----------------|---------------|--------------| | MongoDB 4.0 | 4.0.28 | April 2022 | ✅ Yes | | MongoDB 4.2 | 4.2.19 | April 2023 | ✅ Yes | | MongoDB 4.4 | 4.4.13 | February 2024 | ✅ Yes | -| MongoDB 5.2 | 5.2.1 | April 2022 | ✅ Yes | +| MongoDB 5.2 | 5.2.1 | October 2024 | ✅ Yes | | MongoDB 6.0 | - | July 2025 | ❌ Not tested | #### PostgreSQL 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. -| Version | PostGIS Version | End-of-Life | Parse Server Support | Compatible | -|-------------|-----------------|---------------|----------------------|------------| +| Version | PostGIS Version | End-of-Life | Parse Server Support | Compatible | +|-------------|--------------------|---------------|----------------------|------------| | Postgres 11 | 3.0, 3.1, 3.2, 3.3 | November 2023 | <= 5.x (2022) | ✅ Yes | -| Postgres 12 | 3.3 | November 2024 | <= 5.x (2022) | ✅ Yes | -| Postgres 13 | 3.3 | November 2025 | <= 6.x (2023) | ✅ Yes | -| Postgres 14 | 3.3 | November 2026 | <= 7.x (2024) | ✅ Yes | +| Postgres 12 | 3.3 | November 2024 | <= 5.x (2022) | ✅ Yes | +| Postgres 13 | 3.3 | November 2025 | <= 6.x (2023) | ✅ Yes | +| Postgres 14 | 3.3 | November 2026 | <= 7.x (2024) | ✅ Yes | ### Locally From 11b3b191e87b582e54a5c8548e2f323d5e245b71 Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sat, 24 Sep 2022 14:28:35 +0200 Subject: [PATCH 3/5] update mongo check --- ci/ciCheck.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ci/ciCheck.js b/ci/ciCheck.js index 52518c42cc..daa95f6fe0 100644 --- a/ci/ciCheck.js +++ b/ci/ciCheck.js @@ -30,14 +30,12 @@ async function checkMongoDbVersions() { ciEnvironmentsKeyPath: 'jobs.check-mongo.strategy.matrix.include', ciVersionKey: 'MONGODB_VERSION', releasedVersions, - latestComponent: CiVersionCheck.versionComponents.path, + latestComponent: CiVersionCheck.versionComponents.minor, ignoreReleasedVersions: [ '<4.0.0', // Versions reached their MongoDB end-of-life support date '~4.1.0', // Development release according to MongoDB support '~4.3.0', // Development release according to MongoDB support '~4.7.0', // Development release according to MongoDB support - - '4.0.26', // Temporarily disabled because not yet available for download via mongodb-runner ], }).check(); } From 61ba4d27c1a74052dfc86c76cd1d8ff515e31b27 Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sat, 24 Sep 2022 14:31:34 +0200 Subject: [PATCH 4/5] remove minor versions --- package.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/package.json b/package.json index cf6ebd0ac6..c96e242c97 100644 --- a/package.json +++ b/package.json @@ -118,8 +118,6 @@ "test:mongodb:4.0.28": "npm run test:mongodb --dbversion=4.0.28", "test:mongodb:4.2.19": "npm run test:mongodb --dbversion=4.2.19", "test:mongodb:4.4.13": "npm run test:mongodb --dbversion=4.4.13", - "test:mongodb:5.0.6": "npm run test:mongodb --dbversion=5.0.6", - "test:mongodb:5.1.1": "npm run test:mongodb --dbversion=5.1.1", "test:mongodb:5.2.1": "npm run test:mongodb --dbversion=5.2.1", "posttest:mongodb": "mongodb-runner stop", "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", From f5154c4b9a0b8e547b329d8f4b38fda9f8cfafc4 Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sat, 24 Sep 2022 14:31:45 +0200 Subject: [PATCH 5/5] upgrade to MongoDB 5.3 --- .github/workflows/ci.yml | 4 ++-- README.md | 2 +- package.json | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ecf73bb5d1..4f0d9359ef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -141,8 +141,8 @@ jobs: MONGODB_TOPOLOGY: replicaset MONGODB_STORAGE_ENGINE: wiredTiger NODE_VERSION: 18.1.0 - - name: MongoDB 5.2, ReplicaSet, WiredTiger - MONGODB_VERSION: 5.2.1 + - name: MongoDB 5.3, ReplicaSet, WiredTiger + MONGODB_VERSION: 5.3.2 MONGODB_TOPOLOGY: replicaset MONGODB_STORAGE_ENGINE: wiredTiger NODE_VERSION: 18.1.0 diff --git a/README.md b/README.md index b88d89d592..07b37f925b 100644 --- a/README.md +++ b/README.md @@ -141,7 +141,7 @@ Parse Server is continuously tested with the most recent releases of MongoDB to | MongoDB 4.0 | 4.0.28 | April 2022 | ✅ Yes | | MongoDB 4.2 | 4.2.19 | April 2023 | ✅ Yes | | MongoDB 4.4 | 4.4.13 | February 2024 | ✅ Yes | -| MongoDB 5.2 | 5.2.1 | October 2024 | ✅ Yes | +| MongoDB 5.3 | 5.3.2 | October 2024 | ✅ Yes | | MongoDB 6.0 | - | July 2025 | ❌ Not tested | #### PostgreSQL diff --git a/package.json b/package.json index c96e242c97..2d6685274e 100644 --- a/package.json +++ b/package.json @@ -118,13 +118,13 @@ "test:mongodb:4.0.28": "npm run test:mongodb --dbversion=4.0.28", "test:mongodb:4.2.19": "npm run test:mongodb --dbversion=4.2.19", "test:mongodb:4.4.13": "npm run test:mongodb --dbversion=4.4.13", - "test:mongodb:5.2.1": "npm run test:mongodb --dbversion=5.2.1", + "test:mongodb:5.3.2": "npm run test:mongodb --dbversion=5.3.2", "posttest:mongodb": "mongodb-runner stop", - "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", - "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", + "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", + "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", "test": "npm run testonly", - "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", - "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", + "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", + "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", "start": "node ./bin/parse-server", "prettier": "prettier --write {src,spec}/{**/*,*}.js", "prepare": "npm run build",