ci: Fix CI version check (#9039)

This commit is contained in:
Manuel
2024-03-22 02:26:37 +01:00
committed by GitHub
parent 854ac9a017
commit 1c0eced4bd
4 changed files with 189 additions and 898 deletions

View File

@@ -17,14 +17,8 @@ jobs:
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v2 uses: actions/setup-node@v2
with: with:
node-version: 14 node-version: 20
- name: Cache Node.js modules cache: 'npm'
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
- name: CI Environments Check - name: CI Environments Check

View File

@@ -1,8 +1,7 @@
'use strict'; 'use strict';
const CiVersionCheck = require('./CiVersionCheck'); const CiVersionCheck = require('./CiVersionCheck');
const mongoVersionList = require('mongodb-version-list'); const { exec } = require('child_process');
const allNodeVersions = require('all-node-versions');
async function check() { async function check() {
// Run checks // Run checks
@@ -14,12 +13,13 @@ 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 releasedVersions = await new Promise((resolve, reject) => { const latestStableVersion = await new Promise((resolve, reject) => {
mongoVersionList(function (error, versions) { exec('m --latest', (error, stdout) => {
if (error) { if (error) {
reject(error); reject(error);
return;
} }
resolve(versions); resolve(stdout.trim());
}); });
}); });
@@ -29,14 +29,9 @@ 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, releasedVersions: [latestStableVersion],
latestComponent: CiVersionCheck.versionComponents.minor, latestComponent: CiVersionCheck.versionComponents.major,
ignoreReleasedVersions: [ 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
],
}).check(); }).check();
} }
@@ -44,8 +39,9 @@ async function checkMongoDbVersions() {
* Check the Nodejs versions used in test environments. * Check the Nodejs versions used in test environments.
*/ */
async function checkNodeVersions() { async function checkNodeVersions() {
const allVersions = await allNodeVersions(); const allVersions = (await import('all-node-versions')).default;
const releasedVersions = allVersions.versions; const { versions } = await allVersions();
const nodeVersions = versions.map(version => version.node);
await new CiVersionCheck({ await new CiVersionCheck({
packageName: 'Node.js', packageName: 'Node.js',
@@ -53,13 +49,12 @@ async function checkNodeVersions() {
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: 'NODE_VERSION', ciVersionKey: 'NODE_VERSION',
releasedVersions, releasedVersions: nodeVersions,
latestComponent: CiVersionCheck.versionComponents.minor, latestComponent: CiVersionCheck.versionComponents.minor,
ignoreReleasedVersions: [ ignoreReleasedVersions: [
'<12.0.0', // These versions have reached their end-of-life support date '<18.0.0', // These versions have reached their end-of-life support date
'>=13.0.0 <14.0.0', // These versions have reached their end-of-life support date '>=19.0.0 <20.0.0', // These versions have reached their end-of-life support date
'>=15.0.0 <16.0.0', // These versions have reached their end-of-life support date '>=21.0.0', // These versions are not officially supported yet
'>=19.0.0', // These versions are not officially supported yet
], ],
}).check(); }).check();
} }

1038
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -79,7 +79,7 @@
"@semantic-release/github": "7.2.3", "@semantic-release/github": "7.2.3",
"@semantic-release/npm": "7.1.3", "@semantic-release/npm": "7.1.3",
"@semantic-release/release-notes-generator": "9.0.3", "@semantic-release/release-notes-generator": "9.0.3",
"all-node-versions": "11.3.0", "all-node-versions": "12.1.0",
"apollo-upload-client": "17.0.0", "apollo-upload-client": "17.0.0",
"clean-jsdoc-theme": "4.2.7", "clean-jsdoc-theme": "4.2.7",
"cross-env": "7.0.2", "cross-env": "7.0.2",
@@ -95,11 +95,11 @@
"jsdoc": "4.0.2", "jsdoc": "4.0.2",
"jsdoc-babel": "0.5.0", "jsdoc-babel": "0.5.0",
"lint-staged": "10.2.3", "lint-staged": "10.2.3",
"m": "1.9.0",
"madge": "6.1.0", "madge": "6.1.0",
"mock-files-adapter": "file:spec/dependencies/mock-files-adapter", "mock-files-adapter": "file:spec/dependencies/mock-files-adapter",
"mock-mail-adapter": "file:spec/dependencies/mock-mail-adapter", "mock-mail-adapter": "file:spec/dependencies/mock-mail-adapter",
"mongodb-runner": "5.5.4", "mongodb-runner": "5.5.4",
"mongodb-version-list": "1.0.0",
"node-abort-controller": "3.0.1", "node-abort-controller": "3.0.1",
"node-fetch": "3.2.10", "node-fetch": "3.2.10",
"nyc": "15.1.0", "nyc": "15.1.0",