Skip to content

Commit 4a3815d

Browse files
authored
Add tests against multiple Nodejs versions (#7177)
* added nodejs version check * added changelog entry * fixed MongoDB ignored versions * fixed nodejs test versions * fixed typo * added changelog entry * added node 15 to CI checks * improved log wording * bumped nodejs default to 14 * added Node 15 to compatibility table
1 parent 27d56f0 commit 4a3815d

File tree

8 files changed

+982
-186
lines changed

8 files changed

+982
-186
lines changed

.github/workflows/ci.yml

+17-7
Original file line numberDiff line numberDiff line change
@@ -40,33 +40,43 @@ jobs:
4040
MONGODB_VERSION: 4.4.3
4141
MONGODB_TOPOLOGY: replicaset
4242
MONGODB_STORAGE_ENGINE: wiredTiger
43-
NODE_VERSION: 10
43+
NODE_VERSION: 14.15.5
4444
- name: Mongo 4.2, ReplicaSet, WiredTiger
4545
MONGODB_VERSION: 4.2.12
4646
MONGODB_TOPOLOGY: replicaset
4747
MONGODB_STORAGE_ENGINE: wiredTiger
48-
NODE_VERSION: 10
48+
NODE_VERSION: 14.15.5
4949
- name: Mongo 4.0, ReplicaSet, WiredTiger
5050
MONGODB_VERSION: 4.0.22
5151
MONGODB_TOPOLOGY: replicaset
5252
MONGODB_STORAGE_ENGINE: wiredTiger
53-
NODE_VERSION: 10
53+
NODE_VERSION: 14.15.5
5454
- name: Mongo 3.6, Standalone, MMAPv1
5555
MONGODB_VERSION: 3.6.22
5656
MONGODB_TOPOLOGY: standalone
5757
MONGODB_STORAGE_ENGINE: mmapv1
58-
NODE_VERSION: 10
58+
NODE_VERSION: 14.15.5
5959
- name: Redis Cache
6060
PARSE_SERVER_TEST_CACHE: redis
6161
MONGODB_VERSION: 4.4.3
6262
MONGODB_TOPOLOGY: standalone
6363
MONGODB_STORAGE_ENGINE: wiredTiger
64-
NODE_VERSION: 10
65-
- name: Node 12.20
64+
NODE_VERSION: 14.15.5
65+
- name: Node 10
6666
MONGODB_VERSION: 4.4.3
6767
MONGODB_TOPOLOGY: standalone
6868
MONGODB_STORAGE_ENGINE: wiredTiger
69-
NODE_VERSION: 12.20.1
69+
NODE_VERSION: 10.23.3
70+
- name: Node 12
71+
MONGODB_VERSION: 4.4.3
72+
MONGODB_TOPOLOGY: standalone
73+
MONGODB_STORAGE_ENGINE: wiredTiger
74+
NODE_VERSION: 12.20.2
75+
- name: Node 15
76+
MONGODB_VERSION: 4.4.3
77+
MONGODB_TOPOLOGY: standalone
78+
MONGODB_STORAGE_ENGINE: wiredTiger
79+
NODE_VERSION: 15.8.0
7080
name: ${{ matrix.name }}
7181
timeout-minutes: 30
7282
runs-on: ubuntu-18.04

CHANGELOG.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ ___
1111
- NEW: LiveQuery support for $and, $nor, $containedBy, $geoWithin, $geoIntersects queries [#7113](https://github.com/parse-community/parse-server/pull/7113). Thanks to [dplewis](https://github.com/dplewis)
1212
- NEW: Supporting patterns in LiveQuery server's config parameter `classNames` [#7131](https://github.com/parse-community/parse-server/pull/7131). Thanks to [Nes-si](https://github.com/Nes-si)
1313
- IMPROVE: Added new account lockout policy option `accountLockout.unlockOnPasswordReset` to automatically unlock account on password reset. [#7146](https://github.com/parse-community/parse-server/pull/7146). Thanks to [Manuel Trezza](https://github.com/mtrezza).
14-
- IMPROVE: Parse Server will from now on be continuously tested against all relevant MongoDB versions (minor versions). Added MongoDB compatibility table to Parse Server docs. [7161](https://github.com/parse-community/parse-server/pull/7161). Thanks to [Manuel Trezza](https://github.com/mtrezza).
14+
- IMPROVE: Parse Server is from now on continuously tested against all recent MongoDB versions that have not reached their end-of-life support date. Added MongoDB compatibility table to Parse Server docs. [7161](https://github.com/parse-community/parse-server/pull/7161). Thanks to [Manuel Trezza](https://github.com/mtrezza).
15+
- IMPROVE: Parse Server is from now on continuously tested against all recent Node.js versions that have not reached their end-of-life support date. [7161](https://github.com/parse-community/parse-server/pull/7177). Thanks to [Manuel Trezza](https://github.com/mtrezza).
1516
- IMPROVE: Optimize queries on classes with pointer permissions. [#7061](https://github.com/parse-community/parse-server/pull/7061). Thanks to [Pedro Diaz](https://github.com/pdiaz)
1617
- FIX: request.context for afterFind triggers. [#7078](https://github.com/parse-community/parse-server/pull/7078). Thanks to [dblythy](https://github.com/dblythy)
1718
- FIX: Winston Logger interpolating stdout to console [#7114](https://github.com/parse-community/parse-server/pull/7114). Thanks to [dplewis](https://github.com/dplewis)

README.md

+20-9
Original file line numberDiff line numberDiff line change
@@ -103,15 +103,26 @@ Before you start make sure you have installed:
103103

104104
### Compatibility
105105

106-
#### MongoDB Support
107-
Parse Server is continuously tested with the most recent releases of MongoDB to ensure compatibility. The rests run against the latest patch version of each MongoDB release. We follow the [MongoDB support schedule](https://www.mongodb.com/support-policy) and only test against versions that are officially supported by MongoDB and have not reached their end-of-life date yet.
106+
#### Node.js
107+
Parse Server is continuously tested with the most recent releases of Node.js to ensure compatibility. We follow the [Node.js Long Term Support plan](https://github.com/nodejs/Release) and only test against versions that are officially supported and have not reached their end-of-life date yet.
108+
109+
| Version | Latest Patch Version | End-of-Life Date | Compatibility |
110+
|------------|----------------------|------------------|--------------------|
111+
| Node.js 10 | 10.23.2 | April 2021 | ✅ Fully compatible |
112+
| Node.js 12 | 12.20.1 | April 2022 | ✅ Fully compatible |
113+
| Node.js 14 | 14.15.4 | April 2023 | ✅ Fully compatible |
114+
| Node.js 15 | 15.8.0 | June 2021 | ✅ Fully compatible |
115+
116+
#### MongoDB
117+
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 yet.
118+
119+
| Version | Latest Patch Version | End-of-Life Date | Compatibility |
120+
|-------------|----------------------|------------------|--------------------|
121+
| MongoDB 3.6 | 3.6.21 | April 2021 | ✅ Fully compatible |
122+
| MongoDB 4.0 | 4.0.22 | January 2022 | ✅ Fully compatible |
123+
| MongoDB 4.2 | 4.2.12 | TBD | ✅ Fully compatible |
124+
| MongoDB 4.4 | 4.4.3 | TBD | ✅ Fully compatible |
108125

109-
| Version | Latest Patch Version | End-of-Life Date | Compatibility |
110-
|-------------|----------------------|------------------|--------------------|
111-
| MongoDB 3.6 | 3.6.21 | April 2021 | ✅ Fully compatible |
112-
| MongoDB 4.0 | 4.0.22 | January 2022 | ✅ Fully compatible |
113-
| MongoDB 4.2 | 4.2.12 | TBD | ✅ Fully compatible |
114-
| MongoDB 4.4 | 4.4.3 | TBD | ✅ Fully compatible |
115126

116127
### Locally
117128
```bash
@@ -643,7 +654,7 @@ The following parameter and placeholder keys are reserved because they are used
643654
| `pages.enableLocalization` | yes | `Boolean` | `false` | - | `PARSE_SERVER_PAGES_ENABLE_LOCALIZATION` | Is true if pages should be localized; this has no effect on custom page redirects. |
644655
| `pages.localizationJsonPath` | yes | `String` | `undefined` | `./private/translations.json` | `PARSE_SERVER_PAGES_LOCALIZATION_JSON_PATH` | The path to the JSON file for localization; the translations will be used to fill template placeholders according to the locale. |
645656
| `pages.localizationFallbackLocale` | yes | `String` | `en` | `en`, `en-GB`, `default` | `PARSE_SERVER_PAGES_LOCALIZATION_FALLBACK_LOCALE` | The fallback locale for localization if no matching translation is provided for the given locale. This is only relevant when providing translation resources via JSON file. |
646-
| `pages.placeholders` | yes | `Object`, `Function`, `AsyncFunction` | `undefined` | `{ exampleKey: 'exampleValue' }` | `PARSE_SERVER_PAGES_PLACEHOLDERS` | The placeholder keys and values which will be filled in pages; this can be a simple object or a callback function. |
657+
| `pages.placeholders` | yes | `Object`, `Function`, `AsyncFunction` | `undefined` | `{ exampleKey: 'exampleValue' }` | `PARSE_SERVER_PAGES_PLACEHOLDERS` | The placeholder keys and values which will be filled in pages; this can be a simple object or a callback function. |
647658
| `pages.forceRedirect` | yes | `Boolean` | `false` | - | `PARSE_SERVER_PAGES_FORCE_REDIRECT` | Is `true` if responses should always be redirects and never content, `false` if the response type should depend on the request type (`GET` request -> content response; `POST` request -> redirect response). |
648659
| `pages.pagesPath` | yes | `String` | `./public` | `./files/pages`, `../../pages` | `PARSE_SERVER_PAGES_PAGES_PATH` | The path to the pages directory; this also defines where the static endpoint `/apps` points to. |
649660
| `pages.pagesEndpoint` | yes | `String` | `apps` | - | `PARSE_SERVER_PAGES_PAGES_ENDPOINT` | The API endpoint for the pages. |

0 commit comments

Comments
 (0)