Skip to content

Commit

Permalink
Add MongoDB 5.0 support + bump CI env (#7469)
Browse files Browse the repository at this point in the history
* bump CI env

* more bump

* more bump

* added mongodb 5.0

* added compatibility table entry

* added changelog entry

* added mongodb 5.0 to badge
  • Loading branch information
mtrezza authored Jul 23, 2021
1 parent 250008d commit 4703822
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 30 deletions.
37 changes: 21 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
branches:
- '**'
env:
NODE_VERSION: 14.17.2
NODE_VERSION: 14.17.3
PARSE_SERVER_TEST_TIMEOUT: 20000
jobs:
check-ci:
Expand Down Expand Up @@ -93,39 +93,44 @@ jobs:
strategy:
matrix:
include:
- name: MongoDB 5.0, ReplicaSet, WiredTiger
MONGODB_VERSION: 5.0.1
MONGODB_TOPOLOGY: replicaset
MONGODB_STORAGE_ENGINE: wiredTiger
NODE_VERSION: 14.17.3
- name: MongoDB 4.4, ReplicaSet, WiredTiger
MONGODB_VERSION: 4.4.6
MONGODB_VERSION: 4.4.7
MONGODB_TOPOLOGY: replicaset
MONGODB_STORAGE_ENGINE: wiredTiger
NODE_VERSION: 14.17.2
NODE_VERSION: 14.17.3
- name: MongoDB 4.2, ReplicaSet, WiredTiger
MONGODB_VERSION: 4.2.14
MONGODB_VERSION: 4.2.15
MONGODB_TOPOLOGY: replicaset
MONGODB_STORAGE_ENGINE: wiredTiger
NODE_VERSION: 14.17.2
NODE_VERSION: 14.17.3
- name: MongoDB 4.0, ReplicaSet, WiredTiger
MONGODB_VERSION: 4.0.25
MONGODB_TOPOLOGY: replicaset
MONGODB_STORAGE_ENGINE: wiredTiger
NODE_VERSION: 14.17.2
NODE_VERSION: 14.17.3
- name: MongoDB 4.0, Standalone, MMAPv1
MONGODB_VERSION: 4.0.25
MONGODB_TOPOLOGY: standalone
MONGODB_STORAGE_ENGINE: mmapv1
NODE_VERSION: 14.17.2
NODE_VERSION: 14.17.3
- name: Redis Cache
PARSE_SERVER_TEST_CACHE: redis
MONGODB_VERSION: 4.4.6
MONGODB_VERSION: 4.4.7
MONGODB_TOPOLOGY: standalone
MONGODB_STORAGE_ENGINE: wiredTiger
NODE_VERSION: 14.17.2
NODE_VERSION: 14.17.3
- name: Node 12
MONGODB_VERSION: 4.4.6
MONGODB_VERSION: 4.4.7
MONGODB_TOPOLOGY: standalone
MONGODB_STORAGE_ENGINE: wiredTiger
NODE_VERSION: 12.22.2
NODE_VERSION: 12.22.3
- name: Node 15
MONGODB_VERSION: 4.4.6
MONGODB_VERSION: 4.4.7
MONGODB_TOPOLOGY: standalone
MONGODB_STORAGE_ENGINE: wiredTiger
NODE_VERSION: 15.14.0
Expand Down Expand Up @@ -170,16 +175,16 @@ jobs:
include:
- name: PostgreSQL 11, PostGIS 3.0
POSTGRES_IMAGE: postgis/postgis:11-3.0
NODE_VERSION: 14.17.2
NODE_VERSION: 14.17.3
- name: PostgreSQL 11, PostGIS 3.1
POSTGRES_IMAGE: postgis/postgis:11-3.1
NODE_VERSION: 14.17.2
NODE_VERSION: 14.17.3
- name: PostgreSQL 12, PostGIS 3.1
POSTGRES_IMAGE: postgis/postgis:12-3.1
NODE_VERSION: 14.17.2
NODE_VERSION: 14.17.3
- name: PostgreSQL 13, PostGIS 3.1
POSTGRES_IMAGE: postgis/postgis:13-3.1
NODE_VERSION: 14.17.2
NODE_VERSION: 14.17.3
fail-fast: false
name: ${{ matrix.name }}
timeout-minutes: 15
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ ___
- EXPERIMENTAL: Added custom routes to easily customize flows for password reset, email verification or build entirely new flows (Manuel Trezza) [#7231](https://github.com/parse-community/parse-server/pull/7231)
- Added Deprecation Policy to govern the introduction of breaking changes in a phased pattern that is more predictable for developers (Manuel Trezza) [#7199](https://github.com/parse-community/parse-server/pull/7199)
- Add REST API endpoint `/loginAs` to create session of any user with master key; allows to impersonate another user. (GormanFletcher) [#7406](https://github.com/parse-community/parse-server/pull/7406)
- Add official support for MongoDB 5.0 (Manuel Trezza) [#7469](https://github.com/parse-community/parse-server/pull/7469)

### Other Changes
- Fix error when a not yet inserted job is updated (Antonio Davi Macedo Coelho de Castro) [#7196](https://github.com/parse-community/parse-server/pull/7196)
Expand Down
13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<a href="https://community.parseplatform.org/"><img alt="Join the conversation" src="https://img.shields.io/discourse/https/community.parseplatform.org/topics.svg"></a>
<a href="https://snyk.io/test/github/parse-community/parse-server"><img alt="Snyk badge" src="https://snyk.io/test/github/parse-community/parse-server/badge.svg"></a>
<a href="https://nodejs.org/"><img alt="Node.js 12,14,15" src="https://img.shields.io/badge/nodejs-12,_14,_15-green.svg?logo=node.js&style=flat"></a>
<a href="https://www.mongodb.com/"><img alt="MongoDB 4.0,4.2,4.4" src="https://img.shields.io/badge/mongodb-4.0,_4.2,_4.4-green.svg?logo=mongodb&style=flat"></a>
<a href="https://www.mongodb.com/"><img alt="MongoDB 4.0,4.2,4.4,5.0" src="https://img.shields.io/badge/mongodb-4.0,_4.2,_4.4,_5.0-green.svg?logo=mongodb&style=flat"></a>
<a href="https://www.postgresql.org"> <img alt="PostgreSQL 11,12,13" src="https://img.shields.io/badge/postgresql-11,_12,_13-green.svg?logo=postgresql&style=flat"></a>
</p>

Expand Down Expand Up @@ -114,18 +114,19 @@ Parse Server is continuously tested with the most recent releases of Node.js to

| Version | Latest Version | End-of-Life Date | Compatibility |
|------------|----------------|------------------|--------------------|
| Node.js 12 | 12.22.2 | April 2022 | ✅ Fully compatible |
| Node.js 14 | 14.17.2 | April 2023 | ✅ Fully compatible |
| Node.js 12 | 12.22.3 | April 2022 | ✅ Fully compatible |
| Node.js 14 | 14.17.3 | April 2023 | ✅ Fully compatible |
| Node.js 15 | 15.14.0 | June 2021 | ✅ Fully compatible |

#### 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 Date | Compatibility |
|-------------|----------------|------------------|--------------------|
| MongoDB 4.0 | 4.0.25 | January 2022 | ✅ Fully compatible |
| MongoDB 4.2 | 4.2.14 | TBD | ✅ Fully compatible |
| MongoDB 4.4 | 4.4.6 | TBD | ✅ Fully compatible |
| MongoDB 4.0 | 4.0.25 | April 2022 | ✅ Fully compatible |
| MongoDB 4.2 | 4.2.15 | TBD | ✅ Fully compatible |
| MongoDB 4.4 | 4.4.7 | TBD | ✅ Fully compatible |
| MongoDB 5.0 | 5.0.1 | January 2024 | ✅ Fully compatible |

#### 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 if a version is older than 3.5 years and a newer version has been available for at least 2.5 years.
Expand Down
12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -112,14 +112,14 @@
"test:mongodb:testonly": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=$npm_config_dbversion} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} TESTING=1 jasmine",
"test:mongodb": "npm run test:mongodb:runnerstart --dbversion=$npm_config_dbversion && npm run test:mongodb:testonly --dbversion=$npm_config_dbversion",
"test:mongodb:4.0.25": "npm run test:mongodb --dbversion=4.0.25",
"test:mongodb:4.2.14": "npm run test:mongodb --dbversion=4.2.14",
"test:mongodb:4.4.6": "npm run test:mongodb --dbversion=4.4.6",
"test:mongodb:4.2.15": "npm run test:mongodb --dbversion=4.2.15",
"test:mongodb:4.4.7": "npm run test:mongodb --dbversion=4.4.7",
"posttest:mongodb": "mongodb-runner stop",
"pretest": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=4.4.6} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} mongodb-runner start",
"testonly": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=4.4.6} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} TESTING=1 jasmine",
"pretest": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=4.4.7} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} mongodb-runner start",
"testonly": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=4.4.7} 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:=4.4.6} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} mongodb-runner stop",
"coverage": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=4.4.6} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} TESTING=1 nyc jasmine",
"posttest": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=4.4.7} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} mongodb-runner stop",
"coverage": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=4.4.7} 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",
Expand Down
3 changes: 1 addition & 2 deletions resources/ci/ciCheck.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@ async function checkMongoDbVersions() {
'~4.3.0', // Development release according to MongoDB support
'~4.7.0', // Development release according to MongoDB support

'4.4.5', // Temporarily disabled because not yet available for download via mongodb-runner
'4.0.24', // Temporarily disabled because not yet available for download via mongodb-runner
'4.0.26', // Temporarily disabled because not yet available for download via mongodb-runner
],
}).check();
}
Expand Down

0 comments on commit 4703822

Please sign in to comment.