1
+ parameters :
2
+ - name : poolName
3
+ type : string
4
+ - name : queueName
5
+ type : string
6
+ - name : configuration
7
+ type : string
8
+ default : ' Debug'
9
+ - name : timeout
10
+ type : number
11
+ - name : testRuns
12
+ type : object
13
+ default :
14
+ - oop64bit : true
15
+ oopCoreClr : false
16
+ lspEditor : false
17
+ runName : 64
18
+
19
+
20
+ stages :
21
+ - stage : Windows_${{ parameters.configuration }}_Build
22
+ dependsOn : []
23
+ jobs :
24
+ - template : build-windows-job.yml
25
+ parameters :
26
+ jobName : Build_Windows_${{ parameters.configuration }}
27
+ testArtifactName : Transport_Artifacts_Windows_${{ parameters.configuration }}
28
+ configuration : ${{ parameters.configuration }}
29
+ poolName : ${{ parameters.poolName }}
30
+ queueName : ${{ parameters.queueName }}
31
+ restoreArguments : -msbuildEngine vs
32
+ buildArguments : -msbuildEngine vs
33
+
34
+ - stage : ${{ parameters.configuration }}_Integration
35
+ dependsOn : Windows_${{ parameters.configuration }}_Build
36
+ variables :
37
+ - name : XUNIT_LOGS
38
+ value : $(Build.SourcesDirectory)\artifacts\log\Debug
39
+ jobs :
40
+ - ${{ each testParameters in parameters.testRuns }} :
41
+ - job : ${{ testParameters.runName }}
42
+ timeoutInMinutes : ${{ parameters.timeout }}
43
+ pool :
44
+ name : ${{ parameters.poolName }}
45
+ demands : ImageOverride -equals ${{ parameters.queueName }}
46
+ steps :
47
+ - task : DownloadPipelineArtifact@2
48
+ displayName : Download Test Payload
49
+ inputs :
50
+ artifact : Transport_Artifacts_Windows_${{ parameters.configuration }}
51
+ path : ' $(Build.SourcesDirectory)'
52
+
53
+ - task : BatchScript@1
54
+ displayName : Rehydrate RunTests
55
+ inputs :
56
+ filename : ./artifacts/bin/RunTests/${{ parameters.configuration }}/net7.0/rehydrate.cmd
57
+ env :
58
+ HELIX_CORRELATION_PAYLOAD : ' $(Build.SourcesDirectory)\.duplicate'
59
+
60
+ # This is a temporary step until the actual test run moves to helix (then we would need to rehydrate the tests there instead)
61
+ - task : BatchScript@1
62
+ displayName : Rehydrate Microsoft.VisualStudio.LanguageServices.New.IntegrationTests
63
+ inputs :
64
+ filename : ./artifacts/bin/Microsoft.VisualStudio.LanguageServices.New.IntegrationTests/${{ parameters.configuration }}/net472/rehydrate.cmd
65
+ env :
66
+ HELIX_CORRELATION_PAYLOAD : ' $(Build.SourcesDirectory)\.duplicate'
67
+
68
+ - task : PowerShell@2
69
+ displayName : Run Integration Tests
70
+ inputs :
71
+ filePath : eng/build.ps1
72
+ arguments : -ci -prepareMachine -testVsi -oop64bit:$${{ testParameters.oop64bit }} -oopCoreClr:$${{ testParameters.oopCoreClr }} -collectDumps -lspEditor:$${{ testParameters.lspEditor }}
73
+
74
+ # These are temporary publishing steps - once the tests run on helix, the artifacts will be attached to the helix payload.
75
+ - task : PublishTestResults@2
76
+ displayName : Publish xUnit Test Results
77
+ inputs :
78
+ testRunner : XUnit
79
+ testResultsFiles : $(Build.SourcesDirectory)\artifacts\TestResults\${{ parameters.configuration }}\*.xml
80
+ mergeTestResults : true
81
+ testRunTitle : ' $(System.JobAttempt)-Integration ${{ parameters.configuration }} OOP64_${{ testParameters.oop64bit }} OOPCoreClr_${{ testParameters.oopCoreClr }}'
82
+ condition : always()
83
+
84
+ # Dumps from test timeouts or crashes get published to the test results directory by dotnet test, so make sure to publish any here.
85
+ - task : PublishBuildArtifacts@1
86
+ displayName : Publish Test Results Directory
87
+ inputs :
88
+ PathtoPublish : ' $(Build.SourcesDirectory)\artifacts\TestResults\${{ parameters.configuration }}'
89
+ ArtifactName : ' $(System.JobAttempt)-Logs ${{ parameters.configuration }} OOP64_${{ testParameters.oop64bit }} OOPCoreClr_${{ testParameters.oopCoreClr }} LspEditor_${{ testParameters.lspEditor }} $(Build.BuildNumber)'
90
+ publishLocation : Container
91
+ continueOnError : true
92
+ condition : not(succeeded())
93
+
94
+ - task : PublishBuildArtifacts@1
95
+ displayName : Publish Logs
96
+ inputs :
97
+ PathtoPublish : ' $(Build.SourcesDirectory)\artifacts\log\${{ parameters.configuration }}'
98
+ ArtifactName : ' $(System.JobAttempt)-Logs ${{ parameters.configuration }} OOP64_${{ testParameters.oop64bit }} OOPCoreClr_${{ testParameters.oopCoreClr }} LspEditor_${{ testParameters.lspEditor }} $(Build.BuildNumber)'
99
+ publishLocation : Container
100
+ continueOnError : true
101
+ condition : not(succeeded())
102
+
103
+ - task : PublishBuildArtifacts@1
104
+ displayName : Publish Screenshots and Test Attachments (Old Tests)
105
+ inputs :
106
+ PathtoPublish : ' $(Build.SourcesDirectory)\artifacts\bin\Microsoft.VisualStudio.LanguageServices.IntegrationTests\${{ parameters.configuration }}\net472\TestResults'
107
+ ArtifactName : ' $(System.JobAttempt)-Screenshots ${{ parameters.configuration }} OOP64_${{ testParameters.oop64bit }} OOPCoreClr_${{ testParameters.oopCoreClr }} LspEditor_${{ testParameters.lspEditor }} $(Build.BuildNumber)'
108
+ publishLocation : Container
109
+ continueOnError : true
110
+ condition : not(succeeded())
0 commit comments