@@ -129,6 +129,7 @@ commands:
129
129
steps :
130
130
- attach_workspace :
131
131
at : *workspace_location
132
+
132
133
setup_windows :
133
134
steps :
134
135
- initialize_env
@@ -158,15 +159,6 @@ commands:
158
159
- devinfra/setup-bazel-remote-exec :
159
160
shell : bash
160
161
161
- install_python :
162
- steps :
163
- - run :
164
- name : ' Install Python 2'
165
- command : |
166
- sudo apt-get update > /dev/null 2>&1
167
- sudo apt-get install -y python
168
- python --version
169
-
170
162
# Job definitions
171
163
jobs :
172
164
setup :
@@ -219,86 +211,7 @@ jobs:
219
211
- run : yarn -s admin validate
220
212
- run : yarn -s check-tooling-setup
221
213
222
- e2e-tests :
223
- parameters :
224
- nodeversion :
225
- type : string
226
- default : *default_nodeversion
227
- snapshots :
228
- type : boolean
229
- default : false
230
- subset :
231
- type : enum
232
- enum : *all_e2e_subsets
233
- default : ' npm'
234
- executor :
235
- name : action-executor
236
- nodeversion : << parameters.nodeversion >>
237
- parallelism : 8
238
- resource_class : large
239
- steps :
240
- - custom_attach_workspace
241
- - browser-tools/install-chrome
242
- - initialize_env
243
- - run : mkdir /mnt/ramdisk/e2e
244
- - when :
245
- condition :
246
- equal : ['npm', << parameters.subset >>]
247
- steps :
248
- - run :
249
- name : Execute CLI E2E Tests with NPM
250
- command : |
251
- node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<</ parameters.snapshots >> --tmpdir=/mnt/ramdisk/e2e --ignore="tests/misc/browsers.ts"
252
- - when :
253
- condition :
254
- equal : ['esbuild', << parameters.subset >>]
255
- steps :
256
- - run :
257
- name : Execute CLI E2E Tests Subset with Esbuild
258
- command : |
259
- node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<</ parameters.snapshots >> --esbuild --tmpdir=/mnt/ramdisk/e2e --glob="{tests/basic/**,tests/build/prod-build.ts,tests/build/relative-sourcemap.ts,tests/build/styles/scss.ts,tests/build/styles/include-paths.ts,tests/commands/add/add-pwa.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts"
260
- - when :
261
- condition :
262
- equal : ['yarn', << parameters.subset >>]
263
- steps :
264
- - run :
265
- name : Execute CLI E2E Tests Subset with Yarn
266
- command : |
267
- node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<</ parameters.snapshots >> --yarn --tmpdir=/mnt/ramdisk/e2e --glob="{tests/basic/**,tests/update/**,tests/commands/add/**}"
268
- - fail_fast
269
-
270
- test-browsers :
271
- executor :
272
- name : action-executor
273
- resource_class : medium
274
- steps :
275
- - custom_attach_workspace
276
- - initialize_env
277
- - run :
278
- name : Initialize Saucelabs
279
- command : setSecretVar SAUCE_ACCESS_KEY $(echo $SAUCE_ACCESS_KEY | rev)
280
- - run :
281
- name : Start Saucelabs Tunnel
282
- command : ./scripts/saucelabs/start-tunnel.sh
283
- background : true
284
- # Waits for the Saucelabs tunnel to be ready. This ensures that we don't run tests
285
- # too early without Saucelabs not being ready.
286
- - run : ./scripts/saucelabs/wait-for-tunnel.sh
287
- - run : node ./tests/legacy-cli/run_e2e --glob="tests/misc/browsers.ts"
288
- - run : ./scripts/saucelabs/stop-tunnel.sh
289
- - fail_fast
290
-
291
214
build :
292
- executor : action-executor
293
- steps :
294
- - custom_attach_workspace
295
- - run : yarn build
296
- - persist_to_workspace :
297
- root : *workspace_location
298
- paths :
299
- - dist/_*.tgz
300
-
301
- bazel-build :
302
215
executor : bazel-executor
303
216
steps :
304
217
- custom_attach_workspace
@@ -308,7 +221,7 @@ jobs:
308
221
command : yarn bazel build //...
309
222
- fail_fast
310
223
311
- bazel- test :
224
+ test :
312
225
executor : bazel-executor
313
226
parameters :
314
227
nodeversion :
@@ -340,7 +253,7 @@ jobs:
340
253
no_output_timeout : 40m
341
254
- fail_fast
342
255
343
- bazel- e2e-tests :
256
+ e2e-tests :
344
257
executor : bazel-executor
345
258
parallelism : 8
346
259
parameters :
@@ -366,7 +279,7 @@ jobs:
366
279
path : dist/testlogs/tests/legacy-cli/e2e.<< parameters.subset >>
367
280
- fail_fast
368
281
369
- bazel- test-browsers :
282
+ test-browsers :
370
283
executor : bazel-executor
371
284
steps :
372
285
- custom_attach_workspace
@@ -397,7 +310,6 @@ jobs:
397
310
resource_class : medium
398
311
steps :
399
312
- custom_attach_workspace
400
- - install_python
401
313
- run :
402
314
name : Deployment to Snapshot
403
315
command : yarn admin snapshots --verbose
@@ -423,40 +335,6 @@ jobs:
423
335
424
336
# Windows jobs
425
337
e2e-cli-win :
426
- executor : windows-executor
427
- parallelism : 16
428
- steps :
429
- - checkout
430
- - rebase_pr_win
431
- - setup_windows
432
- - restore_cache :
433
- keys :
434
- - *cache_key_win
435
- - run :
436
- # We use Arsenal Image Mounter (AIM) instead of ImDisk because of: https://github.com/nodejs/node/issues/6861
437
- # Useful resources for AIM: http://reboot.pro/index.php?showtopic=22068
438
- name : ' Arsenal Image Mounter (RAM Disk)'
439
- command : |
440
- pwsh ./.circleci/win-ram-disk.ps1
441
- - run : yarn install --frozen-lockfile --cache-folder ../.cache/yarn
442
- - save_cache :
443
- key : *cache_key_win
444
- paths :
445
- - ~/.cache/yarn
446
- # Path where Arsenal Image Mounter files are downloaded.
447
- # Must match path in .circleci/win-ram-disk.ps1
448
- - ./aim
449
- # Build the npm packages for the e2e tests
450
- - run : yarn build
451
- # Run partial e2e suite on PRs only. Release branches will run the full e2e suite.
452
- - run :
453
- name : Execute E2E Tests
454
- command : |
455
- mkdir X:/ramdisk/e2e-main
456
- node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main --ignore="tests/misc/browsers.ts"
457
- - fail_fast
458
-
459
- bazel-e2e-cli-win :
460
338
executor : windows-executor
461
339
parallelism : 12
462
340
steps :
@@ -511,42 +389,34 @@ workflows:
511
389
- validate :
512
390
requires :
513
391
- setup
514
- - build :
515
- requires :
516
- - setup
517
392
518
- - test-browsers :
519
- requires :
520
- - build
521
-
522
- - e2e-tests :
523
- name : e2e-cli-<< matrix.subset >>
524
- nodeversion : ' 14.20'
393
+ # These jobs only really depend on Setup, but the build job is very quick to run (~35s) and
394
+ # will catch any build errors before proceeding to the more lengthy and resource intensive
395
+ - test :
396
+ name : test-node<< matrix.nodeversion >>
525
397
matrix :
526
398
parameters :
527
- subset : *all_e2e_subsets
528
- filters :
529
- branches :
530
- ignore :
531
- - main
532
- - /\d+\.\d+\.x/
399
+ nodeversion : *all_nodeversion_major
533
400
requires :
534
401
- build
535
402
403
+ # Bazel jobs
404
+ - build :
405
+ requires :
406
+ - setup
407
+
536
408
- e2e-tests :
537
409
name : e2e-cli-node-<<matrix.nodeversion>>-<< matrix.subset >>
538
410
matrix :
539
411
alias : e2e-cli
540
412
parameters :
541
- nodeversion : ['14.20', '16.13', '18.10']
542
413
subset : *all_e2e_subsets
414
+ snapshots : false
543
415
requires :
544
416
- build
545
- << : *only_release_branches
546
417
547
418
- e2e-tests :
548
419
name : e2e-snapshots-<< matrix.subset >>
549
- nodeversion : ' 16.13'
550
420
matrix :
551
421
parameters :
552
422
subset : *all_e2e_subsets
@@ -565,64 +435,16 @@ workflows:
565
435
- build
566
436
<< : *only_snapshot_branches
567
437
568
- # Bazel jobs
569
- # These jobs only really depend on Setup, but the build job is very quick to run (~35s) and
570
- # will catch any build errors before proceeding to the more lengthy and resource intensive
571
- # Bazel jobs.
572
- - bazel-test :
573
- name : test-node<< matrix.nodeversion >>
574
- matrix :
575
- parameters :
576
- nodeversion : *all_nodeversion_major
438
+ - test-browsers :
577
439
requires :
578
- - bazel- build
440
+ - build
579
441
580
442
# Windows jobs
581
443
- e2e-cli-win
582
444
583
- - bazel-e2e-cli-win
584
-
585
- # Bazel jobs
586
- - bazel-build :
587
- requires :
588
- - setup
589
-
590
- - bazel-e2e-tests :
591
- name : bazel-e2e-cli-<< matrix.subset >>
592
- matrix :
593
- parameters :
594
- subset : *all_e2e_subsets
595
- snapshots : false
596
- requires :
597
- - bazel-build
598
-
599
- - bazel-e2e-tests :
600
- name : bazel-e2e-snapshots-<< matrix.subset >>
601
- matrix :
602
- parameters :
603
- subset : *all_e2e_subsets
604
- snapshots : true
605
- pre-steps :
606
- - when :
607
- # Don't run snapshot E2E's unless it's on the main branch or the snapshots file has been updated.
608
- condition :
609
- and :
610
- - not :
611
- equal : [main, << pipeline.git.branch >>]
612
- - not : << pipeline.parameters.snapshot_changed >>
613
- steps :
614
- - run : circleci-agent step halt
615
- requires :
616
- - bazel-build
617
- << : *only_snapshot_branches
618
-
619
- - bazel-test-browsers :
620
- requires :
621
- - bazel-build
622
-
623
445
# Publish jobs
624
446
- snapshot_publish :
625
- << : *only_release_branches
447
+ # <<: *only_release_branches
626
448
requires :
627
449
- setup
628
450
- e2e-cli
0 commit comments