1
1
'use strict' ;
2
2
3
3
const CiVersionCheck = require ( './CiVersionCheck' ) ;
4
- const mongoVersionList = require ( 'mongodb-version-list' ) ;
5
- const allNodeVersions = require ( 'all-node-versions' ) ;
4
+ const { exec } = require ( 'child_process' ) ;
6
5
7
6
async function check ( ) {
8
7
// Run checks
@@ -14,12 +13,13 @@ async function check() {
14
13
* Check the MongoDB versions used in test environments.
15
14
*/
16
15
async function checkMongoDbVersions ( ) {
17
- const releasedVersions = await new Promise ( ( resolve , reject ) => {
18
- mongoVersionList ( function ( error , versions ) {
16
+ const latestStableVersion = await new Promise ( ( resolve , reject ) => {
17
+ exec ( 'm --latest' , ( error , stdout ) => {
19
18
if ( error ) {
20
19
reject ( error ) ;
20
+ return ;
21
21
}
22
- resolve ( versions ) ;
22
+ resolve ( stdout . trim ( ) ) ;
23
23
} ) ;
24
24
} ) ;
25
25
@@ -29,37 +29,32 @@ async function checkMongoDbVersions() {
29
29
yamlFilePath : './.github/workflows/ci.yml' ,
30
30
ciEnvironmentsKeyPath : 'jobs.check-mongo.strategy.matrix.include' ,
31
31
ciVersionKey : 'MONGODB_VERSION' ,
32
- releasedVersions,
33
- latestComponent : CiVersionCheck . versionComponents . minor ,
34
- ignoreReleasedVersions : [
35
- '<4.0.0' , // Versions reached their MongoDB end-of-life support date
36
- '~4.1.0' , // Development release according to MongoDB support
37
- '~4.3.0' , // Development release according to MongoDB support
38
- '~4.7.0' , // Development release according to MongoDB support
39
- ] ,
32
+ releasedVersions : [ latestStableVersion ] ,
33
+ latestComponent : CiVersionCheck . versionComponents . major ,
34
+ ignoreReleasedVersions : [ ] ,
40
35
} ) . check ( ) ;
41
36
}
42
37
43
38
/**
44
39
* Check the Nodejs versions used in test environments.
45
40
*/
46
41
async function checkNodeVersions ( ) {
47
- const allVersions = await allNodeVersions ( ) ;
48
- const releasedVersions = allVersions . versions ;
42
+ const allVersions = ( await import ( 'all-node-versions' ) ) . default ;
43
+ const { versions } = await allVersions ( ) ;
44
+ const nodeVersions = versions . map ( version => version . node ) ;
49
45
50
46
await new CiVersionCheck ( {
51
47
packageName : 'Node.js' ,
52
48
packageSupportUrl : 'https://github.com/nodejs/node/blob/master/CHANGELOG.md' ,
53
49
yamlFilePath : './.github/workflows/ci.yml' ,
54
50
ciEnvironmentsKeyPath : 'jobs.check-mongo.strategy.matrix.include' ,
55
51
ciVersionKey : 'NODE_VERSION' ,
56
- releasedVersions,
52
+ releasedVersions : nodeVersions ,
57
53
latestComponent : CiVersionCheck . versionComponents . minor ,
58
54
ignoreReleasedVersions : [
59
- '<12.0.0' , // These versions have reached their end-of-life support date
60
- '>=13.0.0 <14.0.0' , // These versions have reached their end-of-life support date
61
- '>=15.0.0 <16.0.0' , // These versions have reached their end-of-life support date
62
- '>=19.0.0' , // These versions are not officially supported yet
55
+ '<18.0.0' , // These versions have reached their end-of-life support date
56
+ '>=19.0.0 <20.0.0' , // These versions have reached their end-of-life support date
57
+ '>=21.0.0' , // These versions are not officially supported yet
63
58
] ,
64
59
} ) . check ( ) ;
65
60
}
0 commit comments