@@ -351,6 +351,47 @@ jobs:
351
351
eq(variables['monoContainsChange'], true),
352
352
eq(variables['installerContainsChange'], true),
353
353
eq(variables['isFullMatrix'], true))
354
+ #
355
+ # Build the whole product using Mono and run libraries tests, multi-scenario for NodeJS
356
+ #
357
+ - template : /eng/pipelines/common/platform-matrix.yml
358
+ parameters :
359
+ jobTemplate : /eng/pipelines/common/global-build-job.yml
360
+ helixQueuesTemplate : /eng/pipelines/libraries/helix-queues-setup.yml
361
+ buildConfig : Release
362
+ runtimeFlavor : mono
363
+ platforms :
364
+ - Browser_wasm
365
+ variables :
366
+ # map dependencies variables to local variables
367
+ - name : librariesContainsChange
368
+ value : $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
369
+ - name : monoContainsChange
370
+ value : $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ]
371
+ jobParameters :
372
+ testGroup : innerloop
373
+ nameSuffix : AllSubsets_Mono_NodeJS
374
+ buildArgs : -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:ForNode=true /p:JSEngine=NodeJS
375
+ timeoutInMinutes : 180
376
+ condition : >-
377
+ or(
378
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
379
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
380
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
381
+ eq(variables['isFullMatrix'], true))
382
+ # extra steps, run tests
383
+ extraStepsTemplate : /eng/pipelines/libraries/helix.yml
384
+ extraStepsParameters :
385
+ creator : dotnet-bot
386
+ testRunNamePrefixSuffix : Mono_$(_BuildConfig)
387
+ extraHelixArguments : /p:ForNode=true /p:JSEngine=NodeJS
388
+ scenarios :
389
+ - normal
390
+ condition : >-
391
+ or(
392
+ eq(variables['librariesContainsChange'], true),
393
+ eq(variables['monoContainsChange'], true),
394
+ eq(variables['isFullMatrix'], true))
354
395
355
396
#
356
397
# Build for Browser/wasm, with EnableAggressiveTrimming=true
@@ -394,6 +435,48 @@ jobs:
394
435
eq(variables['monoContainsChange'], true),
395
436
eq(variables['isFullMatrix'], true))
396
437
438
+ #
439
+ # Build for Browser/wasm, with EnableAggressiveTrimming=true for NodeJS
440
+ #
441
+ - template : /eng/pipelines/common/platform-matrix.yml
442
+ parameters :
443
+ jobTemplate : /eng/pipelines/common/global-build-job.yml
444
+ helixQueuesTemplate : /eng/pipelines/libraries/helix-queues-setup.yml
445
+ buildConfig : Release
446
+ runtimeFlavor : mono
447
+ platforms :
448
+ - Browser_wasm
449
+ variables :
450
+ # map dependencies variables to local variables
451
+ - name : librariesContainsChange
452
+ value : $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
453
+ - name : monoContainsChange
454
+ value : $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ]
455
+ jobParameters :
456
+ testGroup : innerloop
457
+ nameSuffix : AllSubsets_Mono_EAT_NodeJS
458
+ buildArgs : -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=false /p:ForNode=true /p:JSEngine=NodeJS
459
+ timeoutInMinutes : 180
460
+ condition : >-
461
+ or(
462
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
463
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
464
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
465
+ eq(variables['isFullMatrix'], true))
466
+ # extra steps, run tests
467
+ extraStepsTemplate : /eng/pipelines/libraries/helix.yml
468
+ extraStepsParameters :
469
+ creator : dotnet-bot
470
+ testRunNamePrefixSuffix : Mono_$(_BuildConfig)
471
+ extraHelixArguments : /p:NeedsToBuildWasmAppsOnHelix=true /p:ForNode=true /p:JSEngine=NodeJS
472
+ scenarios :
473
+ - normal
474
+ condition : >-
475
+ or(
476
+ eq(variables['librariesContainsChange'], true),
477
+ eq(variables['monoContainsChange'], true),
478
+ eq(variables['isFullMatrix'], true))
479
+
397
480
#
398
481
# Build for Browser/wasm with RunAOTCompilation=true
399
482
#
@@ -436,6 +519,48 @@ jobs:
436
519
eq(variables['monoContainsChange'], true),
437
520
eq(variables['isFullMatrix'], true))
438
521
522
+ #
523
+ # Build for Browser/wasm with RunAOTCompilation=true for NodeJS
524
+ #
525
+ - template : /eng/pipelines/common/platform-matrix.yml
526
+ parameters :
527
+ jobTemplate : /eng/pipelines/common/global-build-job.yml
528
+ helixQueuesTemplate : /eng/pipelines/libraries/helix-queues-setup.yml
529
+ buildConfig : Release
530
+ runtimeFlavor : mono
531
+ platforms :
532
+ - Browser_wasm
533
+ variables :
534
+ # map dependencies variables to local variables
535
+ - name : librariesContainsChange
536
+ value : $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
537
+ - name : monoContainsChange
538
+ value : $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ]
539
+ jobParameters :
540
+ testGroup : innerloop
541
+ nameSuffix : AllSubsets_Mono_AOT_NodeJS
542
+ buildArgs : -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=true /p:ForNode=true /p:JSEngine=NodeJS
543
+ timeoutInMinutes : 180
544
+ condition : >-
545
+ or(
546
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
547
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
548
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
549
+ eq(variables['isFullMatrix'], true))
550
+ # extra steps, run tests
551
+ extraStepsTemplate : /eng/pipelines/libraries/helix.yml
552
+ extraStepsParameters :
553
+ creator : dotnet-bot
554
+ testRunNamePrefixSuffix : Mono_$(_BuildConfig)
555
+ extraHelixArguments : /p:NeedsToBuildWasmAppsOnHelix=true /p:ForNode=true /p:JSEngine=NodeJS
556
+ scenarios :
557
+ - normal
558
+ condition : >-
559
+ or(
560
+ eq(variables['librariesContainsChange'], true),
561
+ eq(variables['monoContainsChange'], true),
562
+ eq(variables['isFullMatrix'], true))
563
+
439
564
# Build and test libraries under single-file publishing
440
565
- template : /eng/pipelines/common/platform-matrix.yml
441
566
parameters :
@@ -496,6 +621,45 @@ jobs:
496
621
creator : dotnet-bot
497
622
testRunNamePrefixSuffix : Mono_$(_BuildConfig)
498
623
624
+ #
625
+ # Build the whole product using Mono and run runtime tests for NodeJS
626
+ #
627
+ - template : /eng/pipelines/common/platform-matrix.yml
628
+ parameters :
629
+ jobTemplate : /eng/pipelines/common/global-build-job.yml
630
+ helixQueuesTemplate : /eng/pipelines/coreclr/templates/helix-queues-setup.yml
631
+ buildConfig : Release
632
+ runtimeFlavor : mono
633
+ platforms :
634
+ - Browser_wasm
635
+ variables :
636
+ - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }} :
637
+ - name : _HelixSource
638
+ value : pr/dotnet/runtime/$(Build.SourceBranch)
639
+ - ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }} :
640
+ - name : _HelixSource
641
+ value : ci/dotnet/runtime/$(Build.SourceBranch)
642
+ - name : timeoutPerTestInMinutes
643
+ value : 10
644
+ - name : timeoutPerTestCollectionInMinutes
645
+ value : 200
646
+ jobParameters :
647
+ testGroup : innerloop
648
+ nameSuffix : AllSubsets_Mono_RuntimeTests_NodeJS
649
+ buildArgs : -s mono+libs -c $(_BuildConfig) /p:ForNode=true
650
+ timeoutInMinutes : 180
651
+ condition : >-
652
+ or(
653
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
654
+ eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
655
+ eq(variables['isFullMatrix'], true))
656
+ # extra steps, run tests
657
+ extraStepsTemplate : /eng/pipelines/common/templates/runtimes/wasm-runtime-and-send-to-helix.yml
658
+ extraStepsParameters :
659
+ creator : dotnet-bot
660
+ testRunNamePrefixSuffix : Mono_$(_BuildConfig)
661
+ forNode : true
662
+
499
663
#
500
664
# Build the whole product using Mono for Android and run runtime tests with Android emulator
501
665
#
0 commit comments