Skip to content

Commit 05f9102

Browse files
Merge remote-tracking branch 'origin/main' into beta-releases
2 parents ff6ddea + 81af861 commit 05f9102

File tree

304 files changed

+6939
-4432
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

304 files changed

+6939
-4432
lines changed

.evergreen/buildvariants-and-tasks.in.yml

Lines changed: 136 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -27,57 +27,66 @@ const PACKAGE_BUILD_VARIANTS = [
2727
{
2828
name: 'package-ubuntu',
2929
display_name: 'Package Ubuntu',
30+
31+
// # NOTE: We are packaging on Ubuntu 16.04 in order to use glibc 2.23
32+
// # when compiling/re-building addons. This ensures compatibility with other
33+
// # debian platforms that have glibc 2.23 or newer.
3034
run_on: 'ubuntu1604-large',
35+
silk_asset_group: 'compass-ubuntu',
3136
},
3237
{
3338
name: 'package-windows',
3439
display_name: 'Package Windows',
3540
run_on: 'windows-vsCurrent-large',
41+
silk_asset_group: 'compass-windows',
3642
},
3743
{
3844
name: 'package-rhel',
3945
display_name: 'Package RHEL',
4046
run_on: 'rhel80-large',
47+
silk_asset_group: 'compass-rhel',
4148
},
4249
{
4350
name: 'package-macos-x64',
4451
display_name: 'Package MacOS Intel',
45-
run_on: 'macos-1100'
52+
run_on: 'macos-1100',
53+
silk_asset_group: 'compass-macos',
4654
},
4755
{
4856
name: 'package-macos-arm',
4957
display_name: 'Package MacOS Arm64',
50-
run_on: 'macos-1100-arm64'
58+
run_on: 'macos-1100-arm64',
59+
silk_asset_group: 'compass-macos-arm',
5160
}
5261
];
5362
5463
const TEST_PACKAGED_APP_BUILD_VARIANTS = [
5564
{
56-
name: 'test-packaged-app-ubuntu',
65+
name: 'test-server-ubuntu',
5766
display_name: 'Ubuntu 20.04',
5867
run_on: 'ubuntu2004-large',
5968
depends_on: 'package-ubuntu',
6069
},
6170
{
62-
name: 'test-packaged-app-windows',
71+
name: 'test-server-windows',
6372
display_name: 'Windows 10',
6473
run_on: 'windows-vsCurrent-large',
6574
depends_on: 'package-windows',
6675
},
6776
{
68-
name: 'test-packaged-app-rhel',
77+
name: 'test-server-rhel',
6978
display_name: 'RHEL 8.0',
7079
run_on: 'rhel80-large',
7180
depends_on: 'package-rhel',
7281
},
7382
{
74-
name: 'test-packaged-app-macos-11-arm',
83+
name: 'test-server-macos-11-arm',
7584
display_name: 'MacOS arm64 11',
7685
run_on: 'macos-1100-arm64-gui',
7786
depends_on: 'package-macos-arm'
7887
},
7988
{
80-
name: 'test-packaged-app-macos-11-x64',
89+
name: 'test-server-macos-11-x64',
8190
display_name: 'MacOS x64 11',
8291
run_on: 'macos-1100-gui',
8392
patchable: false,
@@ -96,8 +105,6 @@ const EOL_SERVER_VERSIONS = [
96105
{ name: '5x-enterprise', version: '5.x.x-enterprise' }
97106
];
98107
99-
// NOTE: the order matters here. The latest element of this array is used
100-
// to test the packaged app.
101108
const MAINTAINED_SERVER_VERSIONS = [
102109
{ name: '60x-community', version: '6.0.x' },
103110
{ name: '60x-enterprise', version: '6.0.x-enterprise' },
@@ -116,44 +123,17 @@ const SERVER_VERSIONS = [
116123
];
117124
118125
const COMPASS_DISTRIBUTIONS = ["compass", "compass-isolated", "compass-readonly"];
126+
127+
const BROWSERS = ["chrome", "firefox"];
128+
129+
const E2E_TEST_GROUPS_NUMBER = 3;
130+
const E2E_TEST_GROUPS = Array.from({ length: E2E_TEST_GROUPS_NUMBER }).map((_, i) => ({number: i + 1}));
119131
%>
120132

121133
#
122134
# Build Variants
123135
#
124136
buildvariants:
125-
- name: connectivity-tests
126-
127-
display_name: Connectivity Tests
128-
run_on: ubuntu2004-large
129-
tasks:
130-
- name: test-connectivity
131-
132-
- name: generate-vulnerability-report
133-
display_name: Vulnerability Report
134-
run_on: ubuntu2004-large
135-
tasks:
136-
- name: generate-vulnerability-report
137-
138-
- name: coverage
139-
display_name: E2E Coverage
140-
run_on: ubuntu2004-large
141-
tasks:
142-
- name: e2e-coverage
143-
144-
- name: csfle-tests
145-
display_name: CSFLE Tests
146-
run_on: ubuntu2004-large
147-
tasks:
148-
- name: test-csfle
149-
150-
- name: test-web-sandbox
151-
display_name: Test Web Sandbox
152-
run_on: ubuntu2004-large
153-
tasks:
154-
- name: test-web-sandbox-chrome
155-
- name: test-web-sandbox-firefox
156-
157137
- name: check
158138
display_name: Check
159139
run_on: ubuntu2004-large
@@ -177,7 +157,8 @@ buildvariants:
177157
# package
178158
<% for (const buildVariant of PACKAGE_BUILD_VARIANTS) { %>
179159
- name: <%= buildVariant.name %>
180-
160+
expansions:
161+
silk_asset_group: <%= buildVariant.silk_asset_group %>
181162
display_name: <%= buildVariant.display_name %>
182163
run_on: <%= buildVariant.run_on %>
183164
tasks:
@@ -194,9 +175,11 @@ buildvariants:
194175
- name: package-compass
195176
variant: package-ubuntu
196177
tasks:
197-
<% for (const serverVersion of EOL_SERVER_VERSIONS) { %>
198-
- name: test-packaged-app-<%= serverVersion.name %>
199-
<% } %>
178+
<% for (const serverVersion of EOL_SERVER_VERSIONS) { %>
179+
<% for (const group of E2E_TEST_GROUPS) { %>
180+
- name: test-server-<%= serverVersion.name %>-<%= group.number %>
181+
<% } %>
182+
<% } %>
200183

201184
- name: test-maintained-servers
202185
display_name: Test Maintained Servers
@@ -206,9 +189,11 @@ buildvariants:
206189
- name: package-compass
207190
variant: package-ubuntu
208191
tasks:
209-
<% for (const serverVersion of MAINTAINED_SERVER_VERSIONS) { %>
210-
- name: test-packaged-app-<%= serverVersion.name %>
211-
<% } %>
192+
<% for (const serverVersion of MAINTAINED_SERVER_VERSIONS) { %>
193+
<% for (const group of E2E_TEST_GROUPS) { %>
194+
- name: test-server-<%= serverVersion.name %>-<%= group.number %>
195+
<% } %>
196+
<% } %>
212197

213198
- name: test-latest-alpha
214199
display_name: Test Latest Alpha Server
@@ -218,7 +203,10 @@ buildvariants:
218203
- name: package-compass
219204
variant: package-ubuntu
220205
tasks:
221-
- name: test-packaged-app-<%= TEST_LATEST_ALPHA_SERVER_VERSION.name %>
206+
<% for (const group of E2E_TEST_GROUPS) { %>
207+
- name: test-server-<%= TEST_LATEST_ALPHA_SERVER_VERSION.name %>-<%= group.number %>
208+
<% } %>
209+
222210

223211
# test-packaged-app
224212
<% for (const buildVariant of TEST_PACKAGED_APP_BUILD_VARIANTS) { %>
@@ -230,7 +218,9 @@ buildvariants:
230218
- name: package-compass
231219
variant: <%= buildVariant.depends_on %>
232220
tasks:
233-
- name: test-packaged-app-<%= MAINTAINED_SERVER_VERSIONS[MAINTAINED_SERVER_VERSIONS.length - 1].name %>
221+
<% for (const group of E2E_TEST_GROUPS) { %>
222+
- name: test-packaged-app-<%= group.number %>
223+
<% } %>
234224
<% } %>
235225

236226
- name: publish
@@ -242,6 +232,42 @@ buildvariants:
242232
- name: publish-dev-release-info
243233
- name: create_static_analysis_report
244234

235+
- name: connectivity-tests
236+
display_name: Connectivity Tests
237+
run_on: ubuntu2004-large
238+
tasks:
239+
- name: test-connectivity
240+
241+
- name: e2e-coverage
242+
display_name: E2E Coverage
243+
run_on: ubuntu2004-large
244+
tasks:
245+
<% for(const group of E2E_TEST_GROUPS) { %>
246+
- name: e2e-coverage-<%= group.number %>
247+
<% } %>
248+
249+
- name: csfle-tests
250+
display_name: CSFLE Tests
251+
run_on: ubuntu2004-large
252+
tasks:
253+
- name: test-csfle
254+
255+
- name: test-web-sandbox
256+
display_name: Test Web Sandbox
257+
run_on: ubuntu2004-large
258+
tasks:
259+
<% for (const browser of BROWSERS) { %>
260+
<% for(const group of E2E_TEST_GROUPS) { %>
261+
- name: test-web-sandbox-<%= browser %>-<%= group.number %>
262+
<% } %>
263+
<% } %>
264+
265+
- name: generate-vulnerability-report
266+
display_name: Vulnerability Report
267+
run_on: ubuntu2004-large
268+
tasks:
269+
- name: generate-vulnerability-report
270+
245271
#
246272
# Tasks
247273
#
@@ -292,15 +318,19 @@ tasks:
292318
vars:
293319
debug: 'compass*,electron*,hadron*,mongo*'
294320

295-
- name: e2e-coverage
296-
tags: ['run-on-pr']
321+
<% for(const group of E2E_TEST_GROUPS) { %>
322+
- name: e2e-coverage-<%= group.number %>
323+
tags: ['required-for-publish', 'run-on-pr']
297324
commands:
298325
- func: prepare
299326
- func: install
300327
- func: bootstrap
301328
- func: e2e-coverage
302329
vars:
330+
e2e_test_groups: <%= E2E_TEST_GROUPS.length %>
331+
e2e_test_group: <%= group.number %>
303332
debug: 'compass-e2e-tests*,electron*,hadron*,mongo*'
333+
<% } %>
304334

305335
- name: generate-vulnerability-report
306336
tags: ['required-for-publish', 'run-on-pr']
@@ -350,26 +380,35 @@ tasks:
350380
- func: prepare
351381
- func: publish-dev-release-info
352382

353-
- name: test-web-sandbox-chrome
354-
tags: ['required-for-publish', 'run-on-pr']
383+
<% for (const distribution of COMPASS_DISTRIBUTIONS) { %>
384+
- name: package-<%= distribution %>
385+
tags: ['required-for-publish', 'run-on-pr', 'package-task']
355386
commands:
356387
- func: prepare
357388
- func: install
358389
- func: bootstrap
359390
vars:
360-
scope: 'compass-e2e-tests'
391+
scope: '@mongodb-js/webpack-config-compass'
361392
- func: apply-compass-target-expansion
362393
vars:
363-
compass_distribution: compass
364-
- func: test-web-sandbox
394+
compass_distribution: <%= distribution %>
395+
- func: spawn-signing-server
396+
- func: package
365397
vars:
366-
mongodb_version: 'latest-alpha-enterprise'
367-
browser_name: 'chrome'
368-
compass_distribution: compass
369-
debug: 'compass-e2e-tests*,electron*,hadron*,mongo*'
398+
debug: 'hadron*,mongo*,compass*,electron*,sign*'
399+
compass_distribution: <%= distribution %>
400+
- func: verify-artifacts
401+
- func: save-all-artifacts
402+
vars:
403+
compass_distribution: <%= distribution %>
404+
<% } %>
370405

371-
- name: test-web-sandbox-firefox
372-
tags: ['required-for-publish', 'run-on-pr']
406+
<% for (const serverVersion of SERVER_VERSIONS) { %>
407+
<% for(const group of E2E_TEST_GROUPS) { %>
408+
- name: test-server-<%= serverVersion.name %>-<%= group.number %>
409+
tags:
410+
- required-for-publish
411+
- run-on-pr
373412
commands:
374413
- func: prepare
375414
- func: install
@@ -379,42 +418,49 @@ tasks:
379418
- func: apply-compass-target-expansion
380419
vars:
381420
compass_distribution: compass
382-
- func: test-web-sandbox
421+
- func: get-packaged-app
422+
vars:
423+
compass_distribution: compass
424+
- func: test-packaged-app
383425
vars:
384-
mongodb_version: 'latest-alpha-enterprise'
385-
browser_name: 'firefox'
426+
mongodb_version: '<%= serverVersion.version %>'
386427
compass_distribution: compass
428+
e2e_test_groups: <%= E2E_TEST_GROUPS.length %>
429+
e2e_test_group: <%= group.number %>
387430
debug: 'compass-e2e-tests*,electron*,hadron*,mongo*'
431+
<% } %>
432+
<% } %>
388433

389-
<% for (const distribution of COMPASS_DISTRIBUTIONS) { %>
390-
- name: package-<%= distribution %>
391-
tags: ['required-for-publish', 'run-on-pr', 'package-task']
434+
<% for(const group of E2E_TEST_GROUPS) { %>
435+
- name: test-packaged-app-<%= group.number %>
436+
tags:
437+
- required-for-publish
438+
- run-on-pr
392439
commands:
393440
- func: prepare
394441
- func: install
395442
- func: bootstrap
396443
vars:
397-
scope: '@mongodb-js/webpack-config-compass'
444+
scope: 'compass-e2e-tests'
398445
- func: apply-compass-target-expansion
399446
vars:
400-
compass_distribution: <%= distribution %>
401-
- func: spawn-signing-server
402-
- func: package
447+
compass_distribution: compass
448+
- func: get-packaged-app
403449
vars:
404-
debug: 'hadron*,mongo*,compass*,electron*,sign*'
405-
compass_distribution: <%= distribution %>
406-
- func: verify-artifacts
407-
- func: save-all-artifacts
450+
compass_distribution: compass
451+
- func: test-packaged-app
408452
vars:
409-
compass_distribution: <%= distribution %>
453+
mongodb_version: latest
454+
compass_distribution: compass
455+
e2e_test_groups: <%= E2E_TEST_GROUPS.length %>
456+
e2e_test_group: <%= group.number %>
457+
debug: 'compass-e2e-tests*,electron*,hadron*,mongo*'
410458
<% } %>
411459

412-
<%
413-
for (const serverVersion of SERVER_VERSIONS) { %>
414-
- name: test-packaged-app-<%= serverVersion.name %>
415-
tags:
416-
- required-for-publish
417-
- run-on-pr
460+
<% for (const browser of BROWSERS) { %>
461+
<% for(const group of E2E_TEST_GROUPS) { %>
462+
- name: test-web-sandbox-<%= browser %>-<%= group.number %>
463+
tags: ['required-for-publish', 'run-on-pr']
418464
commands:
419465
- func: prepare
420466
- func: install
@@ -424,14 +470,15 @@ for (const serverVersion of SERVER_VERSIONS) { %>
424470
- func: apply-compass-target-expansion
425471
vars:
426472
compass_distribution: compass
427-
- func: get-packaged-app
428-
vars:
429-
compass_distribution: compass
430-
- func: test-packaged-app
473+
- func: test-web-sandbox
431474
vars:
432-
mongodb_version: '<%= serverVersion.version %>'
475+
mongodb_version: latest
476+
browser_name: '<%= browser %>'
433477
compass_distribution: compass
478+
e2e_test_groups: <%= E2E_TEST_GROUPS.length %>
479+
e2e_test_group: <%= group.number %>
434480
debug: 'compass-e2e-tests*,electron*,hadron*,mongo*'
481+
<% } %>
435482
<% } %>
436483

437484
- name: create_static_analysis_report

0 commit comments

Comments
 (0)