Skip to content

Commit

Permalink
ci: Upgrade Node and MongoDB versions; fix CI check script for MongoD…
Browse files Browse the repository at this point in the history
…B versions (#9062)
  • Loading branch information
mtrezza authored Mar 29, 2024
1 parent d58d159 commit 33c06b2
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 38 deletions.
44 changes: 22 additions & 22 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
paths-ignore:
- '**/**.md'
env:
NODE_VERSION: 20.11.1
NODE_VERSION: 20.12.0
PARSE_SERVER_TEST_TIMEOUT: 20000
jobs:
check-code-analysis:
Expand Down Expand Up @@ -146,34 +146,34 @@ jobs:
matrix:
include:
- name: MongoDB 4.2, ReplicaSet
MONGODB_VERSION: 4.2.19
MONGODB_VERSION: 4.2.25
MONGODB_TOPOLOGY: replset
NODE_VERSION: 20.11.1
NODE_VERSION: 20.12.0
- name: MongoDB 4.4, ReplicaSet
MONGODB_VERSION: 4.4.13
MONGODB_VERSION: 4.4.29
MONGODB_TOPOLOGY: replset
NODE_VERSION: 20.11.1
NODE_VERSION: 20.12.0
- name: MongoDB 5, ReplicaSet
MONGODB_VERSION: 5.3.2
MONGODB_VERSION: 5.0.26
MONGODB_TOPOLOGY: replset
NODE_VERSION: 20.11.1
NODE_VERSION: 20.12.0
- name: MongoDB 6, ReplicaSet
MONGODB_VERSION: 6.0.2
MONGODB_VERSION: 6.0.14
MONGODB_TOPOLOGY: replset
NODE_VERSION: 20.11.1
NODE_VERSION: 20.12.0
- name: MongoDB 7, ReplicaSet
MONGODB_VERSION: 7.0.1
MONGODB_VERSION: 7.0.7
MONGODB_TOPOLOGY: replset
NODE_VERSION: 20.11.1
NODE_VERSION: 20.12.0
- name: Redis Cache
PARSE_SERVER_TEST_CACHE: redis
MONGODB_VERSION: 4.4.13
MONGODB_VERSION: 7.0.7
MONGODB_TOPOLOGY: standalone
NODE_VERSION: 20.11.1
NODE_VERSION: 20.12.0
- name: Node 18
MONGODB_VERSION: 4.4.13
MONGODB_VERSION: 7.0.7
MONGODB_TOPOLOGY: standalone
NODE_VERSION: 18.19.1
NODE_VERSION: 18.20.0
fail-fast: false
name: ${{ matrix.name }}
timeout-minutes: 15
Expand Down Expand Up @@ -217,25 +217,25 @@ jobs:
include:
- name: PostgreSQL 13, PostGIS 3.1
POSTGRES_IMAGE: postgis/postgis:13-3.1
NODE_VERSION: 20.11.1
NODE_VERSION: 20.12.0
- name: PostgreSQL 13, PostGIS 3.2
POSTGRES_IMAGE: postgis/postgis:13-3.2
NODE_VERSION: 20.11.1
NODE_VERSION: 20.12.0
- name: PostgreSQL 13, PostGIS 3.3
POSTGRES_IMAGE: postgis/postgis:13-3.3
NODE_VERSION: 20.11.1
NODE_VERSION: 20.12.0
- name: PostgreSQL 13, PostGIS 3.4
POSTGRES_IMAGE: postgis/postgis:13-3.4
NODE_VERSION: 20.11.1
NODE_VERSION: 20.12.0
- name: PostgreSQL 14, PostGIS 3.4
POSTGRES_IMAGE: postgis/postgis:14-3.4
NODE_VERSION: 20.11.1
NODE_VERSION: 20.12.0
- name: PostgreSQL 15, PostGIS 3.4
POSTGRES_IMAGE: postgis/postgis:15-3.4
NODE_VERSION: 20.11.1
NODE_VERSION: 20.12.0
- name: PostgreSQL 16, PostGIS 3.4
POSTGRES_IMAGE: postgis/postgis:15-3.4
NODE_VERSION: 20.11.1
NODE_VERSION: 20.12.0
fail-fast: false
name: ${{ matrix.name }}
timeout-minutes: 15
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-automated.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version: 18.19.1
node-version: 18.20.0
registry-url: https://registry.npmjs.org/
- name: Cache Node.js modules
uses: actions/cache@v4
Expand Down Expand Up @@ -93,7 +93,7 @@ jobs:
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 18.19.1
node-version: 18.20.0
- name: Cache Node.js modules
uses: actions/cache@v4
with:
Expand Down
17 changes: 8 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
[![auto-release](https://img.shields.io/badge/%F0%9F%9A%80-auto--release-9e34eb.svg)](https://github.com/parse-community/parse-dashboard/releases)

[![Node Version](https://img.shields.io/badge/nodejs-18,_20-green.svg?logo=node.js&style=flat)](https://nodejs.org)
[![MongoDB Version](https://img.shields.io/badge/mongodb-4.0,_4.2,_4.4,_5,_6-green.svg?logo=mongodb&style=flat)](https://www.mongodb.com)
[![MongoDB Version](https://img.shields.io/badge/mongodb-4.2,_4.4,_5,_6,_7-green.svg?logo=mongodb&style=flat)](https://www.mongodb.com)
[![Postgres Version](https://img.shields.io/badge/postgresql-13,_14,_15,_16-green.svg?logo=postgresql&style=flat)](https://www.postgresql.org)

[![npm latest version](https://img.shields.io/npm/v/parse-server/latest.svg)](https://www.npmjs.com/package/parse-server)
Expand Down Expand Up @@ -129,21 +129,20 @@ Parse Server is continuously tested with the most recent releases of Node.js to

| Version | Latest Version | End-of-Life | Compatible |
|------------|----------------|-------------|------------|
| Node.js 18 | 18.19.1 | April 2025 | ✅ Yes |
| Node.js 20 | 20.11.1 | April 2026 | ✅ Yes |
| Node.js 18 | 18.20.0 | April 2025 | ✅ Yes |
| Node.js 20 | 20.12.0 | April 2026 | ✅ Yes |

#### 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 [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 | 5.3.2 | October 2024 | ✅ Yes |
| MongoDB 6 | 6.0.2 | July 2025 | ✅ Yes |
| MongoDB 7 | 7.0.1 | TDB | ✅ Yes |
| MongoDB 4.2 | 4.2.25 | April 2023 | ✅ Yes |
| MongoDB 4.4 | 4.4.29 | February 2024 | ✅ Yes |
| MongoDB 5 | 5.0.26 | October 2024 | ✅ Yes |
| MongoDB 6 | 6.0.14 | July 2025 | ✅ Yes |
| MongoDB 7 | 7.0.7 | TDB | ✅ Yes |

#### PostgreSQL

Expand Down
17 changes: 12 additions & 5 deletions ci/ciCheck.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,32 @@ async function check() {
* Check the MongoDB versions used in test environments.
*/
async function checkMongoDbVersions() {
const latestStableVersion = await new Promise((resolve, reject) => {
exec('m --latest', (error, stdout) => {
let latestStableVersions = await new Promise((resolve, reject) => {
exec('m ls', (error, stdout) => {
if (error) {
reject(error);
return;
}
resolve(stdout.trim());
});
});
latestStableVersions = latestStableVersions.split('\n').map(version => version.trim());

await new CiVersionCheck({
packageName: 'MongoDB',
packageSupportUrl: 'https://www.mongodb.com/support-policy',
yamlFilePath: './.github/workflows/ci.yml',
ciEnvironmentsKeyPath: 'jobs.check-mongo.strategy.matrix.include',
ciVersionKey: 'MONGODB_VERSION',
releasedVersions: [latestStableVersion],
latestComponent: CiVersionCheck.versionComponents.major,
ignoreReleasedVersions: [],
releasedVersions: latestStableVersions,
latestComponent: CiVersionCheck.versionComponents.patch,
ignoreReleasedVersions: [
'<4.2.0', // These versions have reached their end-of-life support date
'>=4.3.0 <5.0.0', // Unsupported rapid release versions
'>=5.1.0 <6.0.0', // Unsupported rapid release versions
'>=6.1.0 <7.0.0', // Unsupported rapid release versions
'>=7.1.0 <8.0.0', // Unsupported rapid release versions
],
}).check();
}

Expand Down

0 comments on commit 33c06b2

Please sign in to comment.