ci: Upgrade Node and MongoDB versions; fix CI check script for MongoDB versions (#9062)

This commit is contained in:
Manuel
2024-03-29 13:50:27 +01:00
committed by GitHub
parent d58d159fa2
commit 33c06b261e
4 changed files with 44 additions and 38 deletions

View File

@@ -8,7 +8,7 @@ on:
paths-ignore: paths-ignore:
- '**/**.md' - '**/**.md'
env: env:
NODE_VERSION: 20.11.1 NODE_VERSION: 20.12.0
PARSE_SERVER_TEST_TIMEOUT: 20000 PARSE_SERVER_TEST_TIMEOUT: 20000
jobs: jobs:
check-code-analysis: check-code-analysis:
@@ -146,34 +146,34 @@ jobs:
matrix: matrix:
include: include:
- name: MongoDB 4.2, ReplicaSet - name: MongoDB 4.2, ReplicaSet
MONGODB_VERSION: 4.2.19 MONGODB_VERSION: 4.2.25
MONGODB_TOPOLOGY: replset MONGODB_TOPOLOGY: replset
NODE_VERSION: 20.11.1 NODE_VERSION: 20.12.0
- name: MongoDB 4.4, ReplicaSet - name: MongoDB 4.4, ReplicaSet
MONGODB_VERSION: 4.4.13 MONGODB_VERSION: 4.4.29
MONGODB_TOPOLOGY: replset MONGODB_TOPOLOGY: replset
NODE_VERSION: 20.11.1 NODE_VERSION: 20.12.0
- name: MongoDB 5, ReplicaSet - name: MongoDB 5, ReplicaSet
MONGODB_VERSION: 5.3.2 MONGODB_VERSION: 5.0.26
MONGODB_TOPOLOGY: replset MONGODB_TOPOLOGY: replset
NODE_VERSION: 20.11.1 NODE_VERSION: 20.12.0
- name: MongoDB 6, ReplicaSet - name: MongoDB 6, ReplicaSet
MONGODB_VERSION: 6.0.2 MONGODB_VERSION: 6.0.14
MONGODB_TOPOLOGY: replset MONGODB_TOPOLOGY: replset
NODE_VERSION: 20.11.1 NODE_VERSION: 20.12.0
- name: MongoDB 7, ReplicaSet - name: MongoDB 7, ReplicaSet
MONGODB_VERSION: 7.0.1 MONGODB_VERSION: 7.0.7
MONGODB_TOPOLOGY: replset MONGODB_TOPOLOGY: replset
NODE_VERSION: 20.11.1 NODE_VERSION: 20.12.0
- name: Redis Cache - name: Redis Cache
PARSE_SERVER_TEST_CACHE: redis PARSE_SERVER_TEST_CACHE: redis
MONGODB_VERSION: 4.4.13 MONGODB_VERSION: 7.0.7
MONGODB_TOPOLOGY: standalone MONGODB_TOPOLOGY: standalone
NODE_VERSION: 20.11.1 NODE_VERSION: 20.12.0
- name: Node 18 - name: Node 18
MONGODB_VERSION: 4.4.13 MONGODB_VERSION: 7.0.7
MONGODB_TOPOLOGY: standalone MONGODB_TOPOLOGY: standalone
NODE_VERSION: 18.19.1 NODE_VERSION: 18.20.0
fail-fast: false fail-fast: false
name: ${{ matrix.name }} name: ${{ matrix.name }}
timeout-minutes: 15 timeout-minutes: 15
@@ -217,25 +217,25 @@ jobs:
include: include:
- name: PostgreSQL 13, PostGIS 3.1 - name: PostgreSQL 13, PostGIS 3.1
POSTGRES_IMAGE: postgis/postgis:13-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 - name: PostgreSQL 13, PostGIS 3.2
POSTGRES_IMAGE: postgis/postgis:13-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 - name: PostgreSQL 13, PostGIS 3.3
POSTGRES_IMAGE: postgis/postgis:13-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 - name: PostgreSQL 13, PostGIS 3.4
POSTGRES_IMAGE: postgis/postgis:13-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 - name: PostgreSQL 14, PostGIS 3.4
POSTGRES_IMAGE: postgis/postgis:14-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 - name: PostgreSQL 15, PostGIS 3.4
POSTGRES_IMAGE: postgis/postgis:15-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 - name: PostgreSQL 16, PostGIS 3.4
POSTGRES_IMAGE: postgis/postgis:15-3.4 POSTGRES_IMAGE: postgis/postgis:15-3.4
NODE_VERSION: 20.11.1 NODE_VERSION: 20.12.0
fail-fast: false fail-fast: false
name: ${{ matrix.name }} name: ${{ matrix.name }}
timeout-minutes: 15 timeout-minutes: 15

View File

@@ -17,7 +17,7 @@ jobs:
persist-credentials: false persist-credentials: false
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: 18.19.1 node-version: 18.20.0
registry-url: https://registry.npmjs.org/ registry-url: https://registry.npmjs.org/
- name: Cache Node.js modules - name: Cache Node.js modules
uses: actions/cache@v4 uses: actions/cache@v4
@@ -93,7 +93,7 @@ jobs:
- name: Use Node.js - name: Use Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: 18.19.1 node-version: 18.20.0
- name: Cache Node.js modules - name: Cache Node.js modules
uses: actions/cache@v4 uses: actions/cache@v4
with: with:

View File

@@ -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) [![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) [![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) [![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) [![npm latest version](https://img.shields.io/npm/v/parse-server/latest.svg)](https://www.npmjs.com/package/parse-server)
@@ -129,8 +129,8 @@ Parse Server is continuously tested with the most recent releases of Node.js to
| Version | Latest Version | End-of-Life | Compatible | | Version | Latest Version | End-of-Life | Compatible |
|------------|----------------|-------------|------------| |------------|----------------|-------------|------------|
| Node.js 18 | 18.19.1 | April 2025 | ✅ Yes | | Node.js 18 | 18.20.0 | April 2025 | ✅ Yes |
| Node.js 20 | 20.11.1 | April 2026 | ✅ Yes | | Node.js 20 | 20.12.0 | April 2026 | ✅ Yes |
#### MongoDB #### MongoDB
@@ -138,12 +138,11 @@ Parse Server is continuously tested with the most recent releases of MongoDB to
| 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.25 | April 2023 | ✅ Yes |
| MongoDB 4.2 | 4.2.19 | April 2023 | ✅ Yes | | MongoDB 4.4 | 4.4.29 | February 2024 | ✅ Yes |
| MongoDB 4.4 | 4.4.13 | February 2024 | ✅ Yes | | MongoDB 5 | 5.0.26 | October 2024 | ✅ Yes |
| MongoDB 5 | 5.3.2 | October 2024 | ✅ Yes | | MongoDB 6 | 6.0.14 | July 2025 | ✅ Yes |
| MongoDB 6 | 6.0.2 | July 2025 | ✅ Yes | | MongoDB 7 | 7.0.7 | TDB | ✅ Yes |
| MongoDB 7 | 7.0.1 | TDB | ✅ Yes |
#### PostgreSQL #### PostgreSQL

View File

@@ -13,8 +13,8 @@ async function check() {
* Check the MongoDB versions used in test environments. * Check the MongoDB versions used in test environments.
*/ */
async function checkMongoDbVersions() { async function checkMongoDbVersions() {
const latestStableVersion = await new Promise((resolve, reject) => { let latestStableVersions = await new Promise((resolve, reject) => {
exec('m --latest', (error, stdout) => { exec('m ls', (error, stdout) => {
if (error) { if (error) {
reject(error); reject(error);
return; return;
@@ -22,6 +22,7 @@ async function checkMongoDbVersions() {
resolve(stdout.trim()); resolve(stdout.trim());
}); });
}); });
latestStableVersions = latestStableVersions.split('\n').map(version => version.trim());
await new CiVersionCheck({ await new CiVersionCheck({
packageName: 'MongoDB', packageName: 'MongoDB',
@@ -29,9 +30,15 @@ async function checkMongoDbVersions() {
yamlFilePath: './.github/workflows/ci.yml', yamlFilePath: './.github/workflows/ci.yml',
ciEnvironmentsKeyPath: 'jobs.check-mongo.strategy.matrix.include', ciEnvironmentsKeyPath: 'jobs.check-mongo.strategy.matrix.include',
ciVersionKey: 'MONGODB_VERSION', ciVersionKey: 'MONGODB_VERSION',
releasedVersions: [latestStableVersion], releasedVersions: latestStableVersions,
latestComponent: CiVersionCheck.versionComponents.major, latestComponent: CiVersionCheck.versionComponents.patch,
ignoreReleasedVersions: [], 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(); }).check();
} }