@@ -27,57 +27,66 @@ const PACKAGE_BUILD_VARIANTS = [
27
27
{
28
28
name: 'package-ubuntu',
29
29
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.
30
34
run_on: 'ubuntu1604-large',
35
+ silk_asset_group: 'compass-ubuntu',
31
36
},
32
37
{
33
38
name: 'package-windows',
34
39
display_name: 'Package Windows',
35
40
run_on: 'windows-vsCurrent-large',
41
+ silk_asset_group: 'compass-windows',
36
42
},
37
43
{
38
44
name: 'package-rhel',
39
45
display_name: 'Package RHEL',
40
46
run_on: 'rhel80-large',
47
+ silk_asset_group: 'compass-rhel',
41
48
},
42
49
{
43
50
name: 'package-macos-x64',
44
51
display_name: 'Package MacOS Intel',
45
- run_on: 'macos-1100'
52
+ run_on: 'macos-1100',
53
+ silk_asset_group: 'compass-macos',
46
54
},
47
55
{
48
56
name: 'package-macos-arm',
49
57
display_name: 'Package MacOS Arm64',
50
- run_on: 'macos-1100-arm64'
58
+ run_on: 'macos-1100-arm64',
59
+ silk_asset_group: 'compass-macos-arm',
51
60
}
52
61
];
53
62
54
63
const TEST_PACKAGED_APP_BUILD_VARIANTS = [
55
64
{
56
- name: 'test-packaged-app -ubuntu',
65
+ name: 'test-server -ubuntu',
57
66
display_name: 'Ubuntu 20.04',
58
67
run_on: 'ubuntu2004-large',
59
68
depends_on: 'package-ubuntu',
60
69
},
61
70
{
62
- name: 'test-packaged-app -windows',
71
+ name: 'test-server -windows',
63
72
display_name: 'Windows 10',
64
73
run_on: 'windows-vsCurrent-large',
65
74
depends_on: 'package-windows',
66
75
},
67
76
{
68
- name: 'test-packaged-app -rhel',
77
+ name: 'test-server -rhel',
69
78
display_name: 'RHEL 8.0',
70
79
run_on: 'rhel80-large',
71
80
depends_on: 'package-rhel',
72
81
},
73
82
{
74
- name: 'test-packaged-app -macos-11-arm',
83
+ name: 'test-server -macos-11-arm',
75
84
display_name: 'MacOS arm64 11',
76
85
run_on: 'macos-1100-arm64-gui',
77
86
depends_on: 'package-macos-arm'
78
87
},
79
88
{
80
- name: 'test-packaged-app -macos-11-x64',
89
+ name: 'test-server -macos-11-x64',
81
90
display_name: 'MacOS x64 11',
82
91
run_on: 'macos-1100-gui',
83
92
patchable: false,
@@ -96,8 +105,6 @@ const EOL_SERVER_VERSIONS = [
96
105
{ name: '5x-enterprise', version: '5.x.x-enterprise' }
97
106
];
98
107
99
- // NOTE: the order matters here. The latest element of this array is used
100
- // to test the packaged app.
101
108
const MAINTAINED_SERVER_VERSIONS = [
102
109
{ name: '60x-community', version: '6.0.x' },
103
110
{ name: '60x-enterprise', version: '6.0.x-enterprise' },
@@ -116,44 +123,17 @@ const SERVER_VERSIONS = [
116
123
];
117
124
118
125
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}));
119
131
% >
120
132
121
133
#
122
134
# Build Variants
123
135
#
124
136
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
-
157
137
- name : check
158
138
display_name : Check
159
139
run_on : ubuntu2004-large
@@ -177,7 +157,8 @@ buildvariants:
177
157
# package
178
158
<% for (const buildVariant of PACKAGE_BUILD_VARIANTS) { % >
179
159
- name : <%= buildVariant.name %>
180
-
160
+ expansions :
161
+ silk_asset_group : <%= buildVariant.silk_asset_group %>
181
162
display_name : <%= buildVariant.display_name %>
182
163
run_on : <%= buildVariant.run_on %>
183
164
tasks :
@@ -194,9 +175,11 @@ buildvariants:
194
175
- name : package-compass
195
176
variant : package-ubuntu
196
177
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
+ <% } % >
200
183
201
184
- name : test-maintained-servers
202
185
display_name : Test Maintained Servers
@@ -206,9 +189,11 @@ buildvariants:
206
189
- name : package-compass
207
190
variant : package-ubuntu
208
191
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
+ <% } % >
212
197
213
198
- name : test-latest-alpha
214
199
display_name : Test Latest Alpha Server
@@ -218,7 +203,10 @@ buildvariants:
218
203
- name : package-compass
219
204
variant : package-ubuntu
220
205
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
+
222
210
223
211
# test-packaged-app
224
212
<% for (const buildVariant of TEST_PACKAGED_APP_BUILD_VARIANTS) { % >
@@ -230,7 +218,9 @@ buildvariants:
230
218
- name : package-compass
231
219
variant : <%= buildVariant.depends_on %>
232
220
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
+ <% } % >
234
224
<% } % >
235
225
236
226
- name : publish
@@ -242,6 +232,42 @@ buildvariants:
242
232
- name : publish-dev-release-info
243
233
- name : create_static_analysis_report
244
234
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
+
245
271
#
246
272
# Tasks
247
273
#
@@ -292,15 +318,19 @@ tasks:
292
318
vars :
293
319
debug : ' compass*,electron*,hadron*,mongo*'
294
320
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']
297
324
commands :
298
325
- func : prepare
299
326
- func : install
300
327
- func : bootstrap
301
328
- func : e2e-coverage
302
329
vars :
330
+ e2e_test_groups : <%= E2E_TEST_GROUPS.length %>
331
+ e2e_test_group : <%= group.number %>
303
332
debug : ' compass-e2e-tests*,electron*,hadron*,mongo*'
333
+ <% } % >
304
334
305
335
- name : generate-vulnerability-report
306
336
tags : ['required-for-publish', 'run-on-pr']
@@ -350,26 +380,35 @@ tasks:
350
380
- func : prepare
351
381
- func : publish-dev-release-info
352
382
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']
355
386
commands :
356
387
- func : prepare
357
388
- func : install
358
389
- func : bootstrap
359
390
vars :
360
- scope : ' compass-e2e-tests '
391
+ scope : ' @mongodb-js/webpack-config-compass '
361
392
- func : apply-compass-target-expansion
362
393
vars :
363
- compass_distribution : compass
364
- - func : test-web-sandbox
394
+ compass_distribution : <%= distribution %>
395
+ - func : spawn-signing-server
396
+ - func : package
365
397
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
+ <% } % >
370
405
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
373
412
commands :
374
413
- func : prepare
375
414
- func : install
@@ -379,42 +418,49 @@ tasks:
379
418
- func : apply-compass-target-expansion
380
419
vars :
381
420
compass_distribution : compass
382
- - func : test-web-sandbox
421
+ - func : get-packaged-app
422
+ vars :
423
+ compass_distribution : compass
424
+ - func : test-packaged-app
383
425
vars :
384
- mongodb_version : ' latest-alpha-enterprise'
385
- browser_name : ' firefox'
426
+ mongodb_version : ' <%= serverVersion.version % >'
386
427
compass_distribution : compass
428
+ e2e_test_groups : <%= E2E_TEST_GROUPS.length %>
429
+ e2e_test_group : <%= group.number %>
387
430
debug : ' compass-e2e-tests*,electron*,hadron*,mongo*'
431
+ <% } % >
432
+ <% } % >
388
433
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
392
439
commands :
393
440
- func : prepare
394
441
- func : install
395
442
- func : bootstrap
396
443
vars :
397
- scope : ' @mongodb-js/webpack-config-compass '
444
+ scope : ' compass-e2e-tests '
398
445
- func : apply-compass-target-expansion
399
446
vars :
400
- compass_distribution : <%= distribution %>
401
- - func : spawn-signing-server
402
- - func : package
447
+ compass_distribution : compass
448
+ - func : get-packaged-app
403
449
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
408
452
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*'
410
458
<% } % >
411
459
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']
418
464
commands :
419
465
- func : prepare
420
466
- func : install
@@ -424,14 +470,15 @@ for (const serverVersion of SERVER_VERSIONS) { %>
424
470
- func : apply-compass-target-expansion
425
471
vars :
426
472
compass_distribution : compass
427
- - func : get-packaged-app
428
- vars :
429
- compass_distribution : compass
430
- - func : test-packaged-app
473
+ - func : test-web-sandbox
431
474
vars :
432
- mongodb_version : ' <%= serverVersion.version % >'
475
+ mongodb_version : latest
476
+ browser_name : ' <%= browser % >'
433
477
compass_distribution : compass
478
+ e2e_test_groups : <%= E2E_TEST_GROUPS.length %>
479
+ e2e_test_group : <%= group.number %>
434
480
debug : ' compass-e2e-tests*,electron*,hadron*,mongo*'
481
+ <% } % >
435
482
<% } % >
436
483
437
484
- name : create_static_analysis_report
0 commit comments