@@ -14,7 +14,7 @@ trigger:
14
14
- docs/*
15
15
- .vscode/*
16
16
- .devcontainer/*
17
- - tests/scripts/
17
+ - tests/scripts/*
18
18
- attributions.md
19
19
- CODE_OF_CONDUCT.md
20
20
- DEVGUIDE.md
@@ -306,21 +306,32 @@ stages:
306
306
name : $(DncEngPublicBuildPool)
307
307
demands : ImageOverride -equals $(WindowsMachineQueueName)
308
308
timeoutInMinutes : 120
309
+ strategy :
310
+ parallel : 4
309
311
steps :
310
312
- checkout : self
311
313
clean : true
312
314
313
- - script : eng\CIBuild.cmd -compressallmetadata -buildnorealsig -testDesktop -configuration Release
315
+ - script : eng\CIBuild.cmd -compressallmetadata -buildnorealsig -testDesktop -configuration Release -testBatch $(System.JobPositionInPhase)
314
316
env :
315
317
DOTNET_DbgEnableMiniDump : 1
316
318
DOTNET_DbgMiniDumpType : 3 # Triage dump, 1 for mini, 2 for Heap, 3 for triage, 4 for full. Don't use 4 unless you know what you're doing.
317
319
DOTNET_DbgMiniDumpName : $(Build.SourcesDirectory)\artifacts\log\Release\$(Build.BuildId)-%e-%p-%t.dmp
318
320
NativeToolsOnMachine : true
319
321
displayName : Build
320
322
323
+ - task : PublishTestResults@2
324
+ displayName : Publish Test Results
325
+ inputs :
326
+ testResultsFormat : ' XUnit'
327
+ testRunTitle : WindowsNoRealsig_testDesktop batch $(System.JobPositionInPhase)
328
+ mergeTestResults : true
329
+ testResultsFiles : ' *.xml'
330
+ searchFolder : ' $(Build.SourcesDirectory)/artifacts/TestResults/Release'
331
+ continueOnError : true
321
332
- task : PublishBuildArtifacts@1
322
333
displayName : Publish Build BinLog
323
- condition : always( )
334
+ condition : eq(variables['System.JobPositionInPhase'], 1 )
324
335
continueOnError : true
325
336
inputs :
326
337
PathToPublish : ' $(Build.SourcesDirectory)\artifacts\log/Release\Build.VisualFSharp.sln.binlog'
@@ -333,7 +344,7 @@ stages:
333
344
continueOnError : true
334
345
inputs :
335
346
PathToPublish : ' $(Build.SourcesDirectory)\artifacts\log\Release'
336
- ArtifactName : ' Windows Release WindowsNoRealsig_testDesktop process dumps'
347
+ ArtifactName : ' Windows Release WindowsNoRealsig_testDesktop process dumps $(System.JobPositionInPhase) '
337
348
ArtifactType : Container
338
349
parallel : true
339
350
@@ -429,71 +440,50 @@ stages:
429
440
demands : ImageOverride -equals $(WindowsMachineQueueName)
430
441
timeoutInMinutes : 120
431
442
strategy :
432
- maxParallel : 5
433
443
matrix :
434
- desktop_release :
435
- _configuration : Release
436
- _testKind : testDesktop
437
444
coreclr_release :
438
445
_configuration : Release
439
446
_testKind : testCoreclr
447
+ transparentCompiler : # Empty display name part.
440
448
fsharpqa_release :
441
449
_configuration : Release
442
450
_testKind : testFSharpQA
451
+ transparentCompiler :
443
452
vs_release :
444
453
_configuration : Release
445
454
_testKind : testVs
455
+ setupVsHive : true
456
+ transparentCompiler :
446
457
transparent_compiler_release :
447
458
_configuration : Release
448
459
_testKind : testCoreclr
449
-
450
- ${{ if eq(variables['Build.Reason'], 'Flaky, disabled, was PullRequest') }} :
451
- inttests_release :
452
- _configuration : Release
453
- _testKind : testIntegration
460
+ TEST_TRANSPARENT_COMPILER : 1 # Pipeline variable will map to env var.
461
+ transparentCompiler : TransparentCompiler
462
+ # inttests_release:
463
+ # _configuration: Release
464
+ # _testKind: testIntegration
465
+ # setupVsHive: true
454
466
steps :
455
467
- checkout : self
456
468
clean : true
457
469
458
470
- powershell : eng\SetupVSHive.ps1
459
471
displayName : Setup VS Hive
460
- condition : or(eq(variables['_testKind'], 'testVs'), eq(variables['_testKind'], 'testIntegration'))
461
-
462
- # yes, this is miserable, but - https://github.com/dotnet/arcade/issues/13239
463
- - script : eng\CIBuild.cmd -compressallmetadata -configuration $(_configuration) -$(_testKind)
464
- env :
465
- DOTNET_DbgEnableMiniDump : 1
466
- DOTNET_DbgMiniDumpType : 3 # Triage dump, 1 for mini, 2 for Heap, 3 for triage, 4 for full. Don't use 4 unless you know what you're doing.
467
- DOTNET_DbgMiniDumpName : $(Build.SourcesDirectory)\artifacts\log\$(_configuration)\$(Build.BuildId)-%e-%p-%t.dmp
468
- NativeToolsOnMachine : true
469
- displayName : Build / Test
470
- condition : and( ne(variables['_testKind'], 'testIntegration'), ne(variables['System.JobName'], 'transparent_compiler_release') )
471
-
472
- - script : eng\CIBuild.cmd -compressallmetadata -configuration $(_configuration) -$(_testKind)
473
- env :
474
- DOTNET_DbgEnableMiniDump : 1
475
- DOTNET_DbgMiniDumpType : 3 # Triage dump, 1 for mini, 2 for Heap, 3 for triage, 4 for full. Don't use 4 unless you know what you're doing.
476
- DOTNET_DbgMiniDumpName : $(Build.SourcesDirectory)\artifacts\log\$(_configuration)\$(Build.BuildId)-%e-%p-%t.dmp
477
- TEST_TRANSPARENT_COMPILER : 1
478
- NativeToolsOnMachine : true
479
- displayName : Build / Test Transparent Compiler
480
- condition : and( eq(variables['System.JobName'], 'transparent_compiler_release'), ne(variables['_testKind'], 'testIntegration') )
472
+ condition : eq(variables.setupVsHive, 'true')
481
473
482
474
- script : eng\CIBuild.cmd -compressallmetadata -configuration $(_configuration) -$(_testKind)
483
475
env :
484
476
DOTNET_DbgEnableMiniDump : 1
485
477
DOTNET_DbgMiniDumpType : 3 # Triage dump, 1 for mini, 2 for Heap, 3 for triage, 4 for full. Don't use 4 unless you know what you're doing.
486
478
DOTNET_DbgMiniDumpName : $(Build.SourcesDirectory)\artifacts\log\$(_configuration)\$(Build.BuildId)-%e-%p-%t.dmp
487
479
NativeToolsOnMachine : true
488
- displayName : Build / Integration Test
489
- continueOnError : true
490
- condition : eq(variables['_testKind'], 'testIntegration')
480
+ displayName : Build and Test $(_testKind) $(transparentCompiler)
491
481
492
482
- task : PublishTestResults@2
493
483
displayName : Publish Test Results
494
484
inputs :
495
485
testResultsFormat : ' XUnit'
496
- testRunTitle : WindowsCompressedMetadata $(_testKind)
486
+ testRunTitle : WindowsCompressedMetadata $(_testKind) $(transparentCompiler)
497
487
mergeTestResults : true
498
488
testResultsFiles : ' *.xml'
499
489
searchFolder : ' $(Build.SourcesDirectory)/artifacts/TestResults/$(_configuration)'
@@ -505,7 +495,7 @@ stages:
505
495
continueOnError : true
506
496
inputs :
507
497
PathToPublish : ' $(Build.SourcesDirectory)\artifacts\log/$(_configuration)\Build.VisualFSharp.sln.binlog'
508
- ArtifactName : ' Windows $(_configuration) $(_testKind) test binlogs'
498
+ ArtifactName : Windows $(_configuration) $(_testKind) $(transparentCompiler) test binlogs
509
499
ArtifactType : Container
510
500
parallel : true
511
501
- task : PublishBuildArtifacts@1
@@ -521,7 +511,7 @@ stages:
521
511
displayName : Publish Test Logs
522
512
inputs :
523
513
PathtoPublish : ' $(Build.SourcesDirectory)\artifacts\TestResults\$(_configuration)'
524
- ArtifactName : ' Windows $(_configuration) $(_testKind) test logs'
514
+ ArtifactName : Windows $(_configuration) $(_testKind) $(transparentCompilerSuffix) test logs
525
515
publishLocation : Container
526
516
continueOnError : true
527
517
condition : always()
@@ -537,6 +527,84 @@ stages:
537
527
continueOnError : true
538
528
condition : failed()
539
529
530
+ # Windows With Compressed Metadata Desktop
531
+ - job : WindowsCompressedMetadata_Desktop
532
+ variables :
533
+ - name : XUNIT_LOGS
534
+ value : $(Build.SourcesDirectory)\artifacts\TestResults\Release
535
+ - name : __VSNeverShowWhatsNew
536
+ value : 1
537
+ pool :
538
+ # The PR build definition sets this variable:
539
+ # WindowsMachineQueueName=Windows.vs2022.amd64.open
540
+ # and there is an alternate build definition that sets this to a queue that is always scouting the
541
+ # next preview of Visual Studio.
542
+ name : $(DncEngPublicBuildPool)
543
+ demands : ImageOverride -equals $(WindowsMachineQueueName)
544
+ timeoutInMinutes : 120
545
+ strategy :
546
+ parallel : 4
547
+
548
+ steps :
549
+ - checkout : self
550
+ clean : true
551
+
552
+ - script : eng\CIBuild.cmd -compressallmetadata -configuration Release -testDesktop -testBatch $(System.JobPositionInPhase)
553
+ env :
554
+ DOTNET_DbgEnableMiniDump : 1
555
+ DOTNET_DbgMiniDumpType : 3 # Triage dump, 1 for mini, 2 for Heap, 3 for triage, 4 for full. Don't use 4 unless you know what you're doing.
556
+ DOTNET_DbgMiniDumpName : $(Build.SourcesDirectory)\artifacts\log\Release\$(Build.BuildId)-%e-%p-%t.dmp
557
+ NativeToolsOnMachine : true
558
+ displayName : Build / Test
559
+
560
+ - task : PublishTestResults@2
561
+ displayName : Publish Test Results
562
+ inputs :
563
+ testResultsFormat : ' XUnit'
564
+ testRunTitle : WindowsCompressedMetadata testDesktop batch $(System.JobPositionInPhase)
565
+ mergeTestResults : true
566
+ testResultsFiles : ' *.xml'
567
+ searchFolder : ' $(Build.SourcesDirectory)/artifacts/TestResults/Release'
568
+ continueOnError : true
569
+
570
+ - task : PublishBuildArtifacts@1
571
+ displayName : Publish BinLog
572
+ condition : eq(variables['System.JobPositionInPhase'], 1)
573
+ continueOnError : true
574
+ inputs :
575
+ PathToPublish : ' $(Build.SourcesDirectory)\artifacts\log/Release\Build.VisualFSharp.sln.binlog'
576
+ ArtifactName : ' Windows testDesktop binlogs'
577
+ ArtifactType : Container
578
+ parallel : true
579
+ - task : PublishBuildArtifacts@1
580
+ displayName : Publish Dumps
581
+ condition : failed()
582
+ continueOnError : true
583
+ inputs :
584
+ PathToPublish : ' $(Build.SourcesDirectory)\artifacts\log\Release'
585
+ ArtifactName : ' Windows testDesktop process dumps $(System.JobPositionInPhase)'
586
+ ArtifactType : Container
587
+ parallel : true
588
+ - task : PublishBuildArtifacts@1
589
+ displayName : Publish Test Logs
590
+ inputs :
591
+ PathtoPublish : ' $(Build.SourcesDirectory)\artifacts\TestResults\Release'
592
+ ArtifactName : ' Windows testDesktop test logs batch $(System.JobPositionInPhase)'
593
+ publishLocation : Container
594
+ continueOnError : true
595
+ condition : always()
596
+ - script : dotnet build $(Build.SourcesDirectory)/eng/DumpPackageRoot/DumpPackageRoot.csproj
597
+ displayName : Dump NuGet cache contents
598
+ condition : failed()
599
+ - task : PublishBuildArtifacts@1
600
+ displayName : Publish NuGet cache contents
601
+ inputs :
602
+ PathtoPublish : ' $(Build.SourcesDirectory)\artifacts\NugetPackageRootContents'
603
+ ArtifactName : ' NuGetPackageContents Windows testDesktop $(System.JobPositionInPhase)'
604
+ publishLocation : Container
605
+ continueOnError : true
606
+ condition : failed()
607
+
540
608
# Mock official build
541
609
- job : MockOfficial
542
610
pool :
0 commit comments