@@ -14,7 +14,7 @@ trigger:
1414 - docs/*
1515 - .vscode/*
1616 - .devcontainer/*
17- - tests/scripts/
17+ - tests/scripts/*
1818 - attributions.md
1919 - CODE_OF_CONDUCT.md
2020 - DEVGUIDE.md
@@ -306,21 +306,32 @@ stages:
306306 name : $(DncEngPublicBuildPool)
307307 demands : ImageOverride -equals $(WindowsMachineQueueName)
308308 timeoutInMinutes : 120
309+ strategy :
310+ parallel : 4
309311 steps :
310312 - checkout : self
311313 clean : true
312314
313- - script : eng\CIBuild.cmd -compressallmetadata -buildnorealsig -testDesktop -configuration Release
315+ - script : eng\CIBuild.cmd -compressallmetadata -buildnorealsig -testDesktop -configuration Release -testBatch $(System.JobPositionInPhase)
314316 env :
315317 DOTNET_DbgEnableMiniDump : 1
316318 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.
317319 DOTNET_DbgMiniDumpName : $(Build.SourcesDirectory)\artifacts\log\Release\$(Build.BuildId)-%e-%p-%t.dmp
318320 NativeToolsOnMachine : true
319321 displayName : Build
320322
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
321332 - task : PublishBuildArtifacts@1
322333 displayName : Publish Build BinLog
323- condition : always( )
334+ condition : eq(variables['System.JobPositionInPhase'], 1 )
324335 continueOnError : true
325336 inputs :
326337 PathToPublish : ' $(Build.SourcesDirectory)\artifacts\log/Release\Build.VisualFSharp.sln.binlog'
@@ -333,7 +344,7 @@ stages:
333344 continueOnError : true
334345 inputs :
335346 PathToPublish : ' $(Build.SourcesDirectory)\artifacts\log\Release'
336- ArtifactName : ' Windows Release WindowsNoRealsig_testDesktop process dumps'
347+ ArtifactName : ' Windows Release WindowsNoRealsig_testDesktop process dumps $(System.JobPositionInPhase) '
337348 ArtifactType : Container
338349 parallel : true
339350
@@ -429,71 +440,50 @@ stages:
429440 demands : ImageOverride -equals $(WindowsMachineQueueName)
430441 timeoutInMinutes : 120
431442 strategy :
432- maxParallel : 5
433443 matrix :
434- desktop_release :
435- _configuration : Release
436- _testKind : testDesktop
437444 coreclr_release :
438445 _configuration : Release
439446 _testKind : testCoreclr
447+ transparentCompiler : # Empty display name part.
440448 fsharpqa_release :
441449 _configuration : Release
442450 _testKind : testFSharpQA
451+ transparentCompiler :
443452 vs_release :
444453 _configuration : Release
445454 _testKind : testVs
455+ setupVsHive : true
456+ transparentCompiler :
446457 transparent_compiler_release :
447458 _configuration : Release
448459 _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
454466 steps :
455467 - checkout : self
456468 clean : true
457469
458470 - powershell : eng\SetupVSHive.ps1
459471 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')
481473
482474 - script : eng\CIBuild.cmd -compressallmetadata -configuration $(_configuration) -$(_testKind)
483475 env :
484476 DOTNET_DbgEnableMiniDump : 1
485477 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.
486478 DOTNET_DbgMiniDumpName : $(Build.SourcesDirectory)\artifacts\log\$(_configuration)\$(Build.BuildId)-%e-%p-%t.dmp
487479 NativeToolsOnMachine : true
488- displayName : Build / Integration Test
489- continueOnError : true
490- condition : eq(variables['_testKind'], 'testIntegration')
480+ displayName : Build and Test $(_testKind) $(transparentCompiler)
491481
492482 - task : PublishTestResults@2
493483 displayName : Publish Test Results
494484 inputs :
495485 testResultsFormat : ' XUnit'
496- testRunTitle : WindowsCompressedMetadata $(_testKind)
486+ testRunTitle : WindowsCompressedMetadata $(_testKind) $(transparentCompiler)
497487 mergeTestResults : true
498488 testResultsFiles : ' *.xml'
499489 searchFolder : ' $(Build.SourcesDirectory)/artifacts/TestResults/$(_configuration)'
@@ -505,7 +495,7 @@ stages:
505495 continueOnError : true
506496 inputs :
507497 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
509499 ArtifactType : Container
510500 parallel : true
511501 - task : PublishBuildArtifacts@1
@@ -521,7 +511,7 @@ stages:
521511 displayName : Publish Test Logs
522512 inputs :
523513 PathtoPublish : ' $(Build.SourcesDirectory)\artifacts\TestResults\$(_configuration)'
524- ArtifactName : ' Windows $(_configuration) $(_testKind) test logs'
514+ ArtifactName : Windows $(_configuration) $(_testKind) $(transparentCompilerSuffix) test logs
525515 publishLocation : Container
526516 continueOnError : true
527517 condition : always()
@@ -537,6 +527,84 @@ stages:
537527 continueOnError : true
538528 condition : failed()
539529
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+
540608 # Mock official build
541609 - job : MockOfficial
542610 pool :
0 commit comments