Skip to content

Commit 92e2580

Browse files
committed
test(evg): correct evergreen matrix for release compatibility
1 parent 2268e7a commit 92e2580

File tree

2 files changed

+86
-93
lines changed

2 files changed

+86
-93
lines changed

.evergreen/config.yml

+56-59
Original file line numberDiff line numberDiff line change
@@ -447,25 +447,40 @@ buildvariants:
447447
run_on: debian71-test
448448
expansions:
449449
NODE_LTS_NAME: dubnium
450-
tasks: *ref_0
450+
tasks: &ref_1
451+
- test-3.6-single
452+
- test-3.6-replicaset
453+
- test-3.6-sharded
454+
- test-3.4-single
455+
- test-3.4-replicaset
456+
- test-3.4-sharded
457+
- test-3.2-single
458+
- test-3.2-replicaset
459+
- test-3.2-sharded
460+
- test-3.0-single
461+
- test-3.0-replicaset
462+
- test-3.0-sharded
463+
- test-2.6-single
464+
- test-2.6-replicaset
465+
- test-2.6-sharded
451466
- name: debian71-test-carbon
452467
display_name: Debian 7.1 Node Carbon
453468
run_on: debian71-test
454469
expansions:
455470
NODE_LTS_NAME: carbon
456-
tasks: *ref_0
471+
tasks: *ref_1
457472
- name: debian71-test-boron
458473
display_name: Debian 7.1 Node Boron
459474
run_on: debian71-test
460475
expansions:
461476
NODE_LTS_NAME: boron
462-
tasks: *ref_0
477+
tasks: *ref_1
463478
- name: debian71-test-argon
464479
display_name: Debian 7.1 Node Argon
465480
run_on: debian71-test
466481
expansions:
467482
NODE_LTS_NAME: argon
468-
tasks: *ref_0
483+
tasks: *ref_1
469484
- name: archlinux-test-dubnium
470485
display_name: Archlinux Node Dubnium
471486
run_on: archlinux-test
@@ -519,7 +534,7 @@ buildvariants:
519534
run_on: ubuntu1604-test
520535
expansions:
521536
NODE_LTS_NAME: dubnium
522-
tasks: &ref_1
537+
tasks: &ref_2
523538
- test-latest-single
524539
- test-latest-replicaset
525540
- test-latest-sharded
@@ -541,73 +556,73 @@ buildvariants:
541556
run_on: ubuntu1604-test
542557
expansions:
543558
NODE_LTS_NAME: carbon
544-
tasks: *ref_1
559+
tasks: *ref_2
545560
- name: ubuntu-16.04-boron
546561
display_name: Ubuntu 16.04 Node Boron
547562
run_on: ubuntu1604-test
548563
expansions:
549564
NODE_LTS_NAME: boron
550-
tasks: *ref_1
565+
tasks: *ref_2
551566
- name: ubuntu-16.04-argon
552567
display_name: Ubuntu 16.04 Node Argon
553568
run_on: ubuntu1604-test
554569
expansions:
555570
NODE_LTS_NAME: argon
556-
tasks: *ref_1
571+
tasks: *ref_2
557572
- name: suse12-x86-64-test-dubnium
558573
display_name: SUSE 12 (x86_64) Node Dubnium
559574
run_on: suse12-test
560575
expansions:
561576
NODE_LTS_NAME: dubnium
562-
tasks: *ref_1
577+
tasks: *ref_2
563578
- name: suse12-x86-64-test-carbon
564579
display_name: SUSE 12 (x86_64) Node Carbon
565580
run_on: suse12-test
566581
expansions:
567582
NODE_LTS_NAME: carbon
568-
tasks: *ref_1
583+
tasks: *ref_2
569584
- name: suse12-x86-64-test-boron
570585
display_name: SUSE 12 (x86_64) Node Boron
571586
run_on: suse12-test
572587
expansions:
573588
NODE_LTS_NAME: boron
574-
tasks: *ref_1
589+
tasks: *ref_2
575590
- name: suse12-x86-64-test-argon
576591
display_name: SUSE 12 (x86_64) Node Argon
577592
run_on: suse12-test
578593
expansions:
579594
NODE_LTS_NAME: argon
580-
tasks: *ref_1
595+
tasks: *ref_2
581596
- name: rhel71-power8-test-dubnium
582597
display_name: RHEL 7.1 (POWER8) Node Dubnium
583598
run_on: rhel71-power8-test
584599
expansions:
585600
NODE_LTS_NAME: dubnium
586-
tasks: *ref_1
601+
tasks: *ref_2
587602
- name: rhel71-power8-test-carbon
588603
display_name: RHEL 7.1 (POWER8) Node Carbon
589604
run_on: rhel71-power8-test
590605
expansions:
591606
NODE_LTS_NAME: carbon
592-
tasks: *ref_1
607+
tasks: *ref_2
593608
- name: rhel71-power8-test-boron
594609
display_name: RHEL 7.1 (POWER8) Node Boron
595610
run_on: rhel71-power8-test
596611
expansions:
597612
NODE_LTS_NAME: boron
598-
tasks: *ref_1
613+
tasks: *ref_2
599614
- name: rhel71-power8-test-argon
600615
display_name: RHEL 7.1 (POWER8) Node Argon
601616
run_on: rhel71-power8-test
602617
expansions:
603618
NODE_LTS_NAME: argon
604-
tasks: *ref_1
619+
tasks: *ref_2
605620
- name: debian81-test-dubnium
606621
display_name: Debian 8.1 Node Dubnium
607622
run_on: debian81-test
608623
expansions:
609624
NODE_LTS_NAME: dubnium
610-
tasks: &ref_2
625+
tasks: &ref_3
611626
- test-latest-single
612627
- test-latest-replicaset
613628
- test-latest-sharded
@@ -626,82 +641,64 @@ buildvariants:
626641
run_on: debian81-test
627642
expansions:
628643
NODE_LTS_NAME: carbon
629-
tasks: *ref_2
644+
tasks: *ref_3
630645
- name: debian81-test-boron
631646
display_name: Debian 8.1 Node Boron
632647
run_on: debian81-test
633648
expansions:
634649
NODE_LTS_NAME: boron
635-
tasks: *ref_2
636-
- name: suse12-zseries-test-dubnium
637-
display_name: SUSE 12 (zSeries) Node Dubnium
638-
run_on: suse12-zseries-test
639-
expansions:
640-
NODE_LTS_NAME: dubnium
641-
tasks: *ref_2
642-
- name: suse12-zseries-test-carbon
643-
display_name: SUSE 12 (zSeries) Node Carbon
644-
run_on: suse12-zseries-test
645-
expansions:
646-
NODE_LTS_NAME: carbon
647-
tasks: *ref_2
648-
- name: suse12-zseries-test-boron
649-
display_name: SUSE 12 (zSeries) Node Boron
650-
run_on: suse12-zseries-test
650+
tasks: *ref_3
651+
- name: debian81-test-argon
652+
display_name: Debian 8.1 Node Argon
653+
run_on: debian81-test
651654
expansions:
652-
NODE_LTS_NAME: boron
653-
tasks: *ref_2
655+
NODE_LTS_NAME: argon
656+
tasks: *ref_3
654657
- name: ubuntu1604-arm64-small-dubnium
655658
display_name: Ubuntu 16.04 (ARM64) Node Dubnium
656659
run_on: ubuntu1604-arm64-small
657660
expansions:
658661
NODE_LTS_NAME: dubnium
659-
tasks: *ref_2
662+
tasks: *ref_3
660663
- name: ubuntu1604-arm64-small-carbon
661664
display_name: Ubuntu 16.04 (ARM64) Node Carbon
662665
run_on: ubuntu1604-arm64-small
663666
expansions:
664667
NODE_LTS_NAME: carbon
665-
tasks: *ref_2
668+
tasks: *ref_3
666669
- name: ubuntu1604-arm64-small-boron
667670
display_name: Ubuntu 16.04 (ARM64) Node Boron
668671
run_on: ubuntu1604-arm64-small
669672
expansions:
670673
NODE_LTS_NAME: boron
671-
tasks: *ref_2
674+
tasks: *ref_3
675+
- name: ubuntu1604-arm64-small-argon
676+
display_name: Ubuntu 16.04 (ARM64) Node Argon
677+
run_on: ubuntu1604-arm64-small
678+
expansions:
679+
NODE_LTS_NAME: argon
680+
tasks: *ref_3
672681
- name: ubuntu1604-power8-test-dubnium
673682
display_name: Ubuntu 16.04 (POWER8) Node Dubnium
674683
run_on: ubuntu1604-power8-test
675684
expansions:
676685
NODE_LTS_NAME: dubnium
677-
tasks: *ref_2
686+
tasks: *ref_3
678687
- name: ubuntu1604-power8-test-carbon
679688
display_name: Ubuntu 16.04 (POWER8) Node Carbon
680689
run_on: ubuntu1604-power8-test
681690
expansions:
682691
NODE_LTS_NAME: carbon
683-
tasks: *ref_2
692+
tasks: *ref_3
684693
- name: ubuntu1604-power8-test-boron
685694
display_name: Ubuntu 16.04 (POWER8) Node Boron
686695
run_on: ubuntu1604-power8-test
687696
expansions:
688697
NODE_LTS_NAME: boron
689-
tasks: *ref_2
690-
- name: ubuntu1604-zseries-small-dubnium
691-
display_name: Ubuntu 16.04 (zSeries) Node Dubnium
692-
run_on: ubuntu1604-zseries-small
693-
expansions:
694-
NODE_LTS_NAME: dubnium
695-
tasks: *ref_2
696-
- name: ubuntu1604-zseries-small-carbon
697-
display_name: Ubuntu 16.04 (zSeries) Node Carbon
698-
run_on: ubuntu1604-zseries-small
699-
expansions:
700-
NODE_LTS_NAME: carbon
701-
tasks: *ref_2
702-
- name: ubuntu1604-zseries-small-boron
703-
display_name: Ubuntu 16.04 (zSeries) Node Boron
704-
run_on: ubuntu1604-zseries-small
698+
tasks: *ref_3
699+
- name: ubuntu1604-power8-test-argon
700+
display_name: Ubuntu 16.04 (POWER8) Node Argon
701+
run_on: ubuntu1604-power8-test
705702
expansions:
706-
NODE_LTS_NAME: boron
707-
tasks: *ref_2
703+
NODE_LTS_NAME: argon
704+
tasks: *ref_3

.evergreen/generate_evergreen_tasks.js

+30-34
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const semver = require('semver');
44
const fs = require('fs');
55
const yaml = require('js-yaml');
66

7+
const LATEST_EFFECTIVE_VERSION = '5.0';
78
const MONGODB_VERSIONS = ['latest', '4.0', '3.6', '3.4', '3.2', '3.0', '2.6'];
89
const NODE_VERSIONS = ['dubnium', 'carbon', 'boron', 'argon'];
910
const TOPOLOGIES = ['single', 'replicaset', 'sharded'];
@@ -23,10 +24,13 @@ const OPERATING_SYSTEMS = [
2324
display_name: 'RHEL 7.0',
2425
run_on: 'rhel70-small'
2526
},
27+
28+
// OSes that support versions of MongoDB>=2.6 and <4.0
2629
{
2730
name: 'debian71-test',
2831
display_name: 'Debian 7.1',
29-
run_on: 'debian71-test'
32+
run_on: 'debian71-test',
33+
mongoVersion: '<4.0'
3034
},
3135

3236
// OSes that support versions of MongoDB without SSL.
@@ -68,45 +72,27 @@ const OPERATING_SYSTEMS = [
6872
name: 'debian81-test',
6973
display_name: 'Debian 8.1',
7074
run_on: 'debian81-test',
71-
mongoVersion: '>=3.4',
72-
nodeVersion: 'boron'
75+
mongoVersion: '>=3.4'
7376
},
7477
// reenable when these are actually running 7.2, or we release a 7.4 rpm
7578
// {
7679
// name: 'rhel72-zseries-test',
7780
// display_name: 'RHEL 7.2 (zSeries)',
7881
// run_on: 'rhel72-zseries-test',
79-
// mongoVersion: '>=3.4',
80-
// nodeVersion: 'boron'
82+
// mongoVersion: '>=3.4'
8183
// },
82-
{
83-
name: 'suse12-zseries-test',
84-
display_name: 'SUSE 12 (zSeries)',
85-
run_on: 'suse12-zseries-test',
86-
mongoVersion: '>=3.4',
87-
nodeVersion: 'boron'
88-
},
8984
{
9085
name: 'ubuntu1604-arm64-small',
9186
display_name: 'Ubuntu 16.04 (ARM64)',
9287
run_on: 'ubuntu1604-arm64-small',
93-
mongoVersion: '>=3.4',
94-
nodeVersion: 'boron'
88+
mongoVersion: '>=3.4'
9589
},
9690
{
9791
name: 'ubuntu1604-power8-test',
9892
display_name: 'Ubuntu 16.04 (POWER8)',
9993
run_on: 'ubuntu1604-power8-test',
100-
mongoVersion: '>=3.4',
101-
nodeVersion: 'boron'
102-
},
103-
{
104-
name: 'ubuntu1604-zseries-small',
105-
display_name: 'Ubuntu 16.04 (zSeries)',
106-
run_on: 'ubuntu1604-zseries-small',
107-
mongoVersion: '>=3.4',
108-
nodeVersion: 'boron'
109-
},
94+
mongoVersion: '>=3.4'
95+
}
11096

11197
// Windows. reenable this when nvm supports windows, or we settle on an alternative tool
11298
// {
@@ -124,11 +110,15 @@ const OPERATING_SYSTEMS = [
124110
// display_name: 'Windows (VS2015)',
125111
// run_on: 'windows-64-vs2015-test'
126112
// }
127-
].map(osConfig => Object.assign({
128-
mongoVersion: '>=2.6',
129-
nodeVersion: 'argon',
130-
auth: false
131-
}, osConfig)
113+
].map(osConfig =>
114+
Object.assign(
115+
{
116+
mongoVersion: '>=2.6',
117+
nodeVersion: 'argon',
118+
auth: false
119+
},
120+
osConfig
121+
)
132122
);
133123

134124
const TASKS = [];
@@ -172,7 +162,7 @@ TASKS.push({
172162
}
173163
}
174164
]
175-
})
165+
});
176166

177167
const BUILD_VARIANTS = [];
178168

@@ -189,19 +179,25 @@ const getTaskList = (() => {
189179
const { VERSION } = task.commands[1].vars;
190180

191181
if (VERSION === 'latest') {
192-
return true;
182+
return semver.satisfies(semver.coerce(LATEST_EFFECTIVE_VERSION), mongoVersion);
193183
}
194184

195185
return semver.satisfies(semver.coerce(VERSION), mongoVersion);
196186
}).map(x => x.name);
197187

198188
memo[key] = ret;
199189
return ret;
200-
}
190+
};
201191
})();
202192

203193
OPERATING_SYSTEMS.forEach(
204-
({ name: osName, display_name: osDisplayName, run_on, mongoVersion = '>=2.6', nodeVersion = 'argon' }) => {
194+
({
195+
name: osName,
196+
display_name: osDisplayName,
197+
run_on,
198+
mongoVersion = '>=2.6',
199+
nodeVersion = 'argon'
200+
}) => {
205201
const nodeVersions = NODE_VERSIONS.filter(nv => nv >= nodeVersion);
206202
const tasks = getTaskList(mongoVersion);
207203

@@ -215,7 +211,7 @@ OPERATING_SYSTEMS.forEach(
215211
}
216212
);
217213

218-
const fileData = yaml.safeLoad(fs.readFileSync(`${__dirname}/config.yml.in`, 'utf8'))
214+
const fileData = yaml.safeLoad(fs.readFileSync(`${__dirname}/config.yml.in`, 'utf8'));
219215

220216
fileData.tasks = (fileData.tasks || []).concat(TASKS);
221217
fileData.buildvariants = (fileData.buildvariants || []).concat(BUILD_VARIANTS);

0 commit comments

Comments
 (0)