@@ -23,85 +23,90 @@ parameters:
2323- name : Location
2424 type : string
2525 default : ' '
26- - name : SubscriptionConfiguration
27- type : string
28- default : $(sub-config-azure-cloud-test-resources)
2926- name : ServiceDirectory
3027 type : string
3128 default : not-specified
3229- name : TestSetupSteps
3330 type : stepList
3431 default : []
32+ - name : CloudConfigurations
33+ type : object
34+ default :
35+ AzureCloud :
36+ SubscriptionConfiguration : $(sub-config-azure-cloud-test-resources)
3537
3638jobs :
37- - ${{ each platform in parameters.Platforms }} :
38- - job :
39- condition : and(succeededOrFailed(), eq(eq(variables['Record'], 'true'), eq('${{ platform.TestMode }}', 'Record')))
40- displayName : ${{ platform.DisplayName }}
41- variables :
42- - template : ../variables/globals.yml
43- - name : OSVmImage
44- value : ${{ platform.OSVmImage }}
39+ - ${{ each cloudConfig in parameters.CloudConfigurations }} :
40+ - ${{ each platform in parameters.Platforms }} :
41+ - job :
42+ condition : and(succeededOrFailed(), eq(eq(variables['Record'], 'true'), eq('${{ platform.TestMode }}', 'Record')))
43+ displayName : ${{ platform.DisplayName }}_${{ cloudConfig.key }}
44+ variables :
45+ - template : ../variables/globals.yml
46+ - name : OSVmImage
47+ value : ${{ platform.OSVmImage }}
4548
46- timeoutInMinutes : ${{ parameters.TimeoutInMinutes }}
49+ timeoutInMinutes : ${{ parameters.TimeoutInMinutes }}
4750
48- pool :
49- vmImage : $(OSVmImage)
50- ${{ if platform.Container }} :
51- container : ${{ platform.Container }}
51+ pool :
52+ vmImage : $(OSVmImage)
53+ ${{ if platform.Container }} :
54+ container : ${{ platform.Container }}
5255
53- steps :
54- - ${{ if platform.PreSteps }} :
55- - ${{ platform.PreSteps }}
56+ steps :
57+ - ${{ if platform.PreSteps }} :
58+ - ${{ platform.PreSteps }}
5659
57- - ${{ parameters.PreSteps }}
60+ - ${{ parameters.PreSteps }}
5861
59- - template : /eng/common/pipelines/templates/steps/verify-agent-os.yml
62+ - template : /eng/common/pipelines/templates/steps/verify-agent-os.yml
6063
61- - ${{ each step in parameters.TestSetupSteps }} :
62- - ${{ each pair in step }} :
63- ${{ pair.key }} : ${{ pair.value }}
64+ - ${{ each step in parameters.TestSetupSteps }} :
65+ - ${{ each pair in step }} :
66+ ${{ pair.key }} : ${{ pair.value }}
6467
65- - template : /eng/common/TestResources/deploy-test-resources.yml
66- parameters :
67- Location : ${{ parameters.Location }}
68- ServiceDirectory : ' ${{ parameters.ServiceDirectory }}'
69- SubscriptionConfiguration : ${{ parameters.SubscriptionConfiguration }}
68+ - template : /eng/common/TestResources/deploy-test-resources.yml
69+ parameters :
70+ Location : ${{ cloudConfig.value.Location }}
71+ ServiceDirectory : ' ${{ parameters.ServiceDirectory }}'
72+ SubscriptionConfiguration : ${{ cloudConfig.value.SubscriptionConfiguration }}
73+ ArmTemplateParameters : ${{ cloudConfig.value.ArmTemplateParameters }}
7074
71- - script : >
72- dotnet test eng/service.proj
73- --framework ${{ platform.TestTargetFramework }}
74- --filter "TestCategory!=Manually"
75- --logger "trx"
76- --logger:"console;verbosity=normal"
77- /p:ServiceDirectory=${{ parameters.ServiceDirectory }}
78- /p:IncludeSrc=false /p:IncludeSamples=false
79- /p:BuildInParallel=${{ parameters.BuildInParallel }}
80- ${{ platform.AdditionalTestArguments }}
75+ - script : >
76+ dotnet test eng/service.proj
77+ --framework ${{ platform.TestTargetFramework }}
78+ --filter "TestCategory!=Manually"
79+ --logger "trx"
80+ --logger:"console;verbosity=normal"
81+ /p:ServiceDirectory=${{ parameters.ServiceDirectory }}
82+ /p:IncludeSrc=false /p:IncludeSamples=false
83+ /p:BuildInParallel=${{ parameters.BuildInParallel }}
84+ ${{ platform.AdditionalTestArguments }}
8185
82- displayName: "Build & Test (all tests for ${{ platform.TestTargetFramework }})"
83- env:
84- DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
85- DOTNET_CLI_TELEMETRY_OPTOUT: 1
86- DOTNET_MULTILEVEL_LOOKUP: 0
87- AZURE_TEST_MODE: "${{ coalesce(platform.TestMode, 'None') }}"
88- ${{ insert }}: ${{ parameters.EnvVars }}
86+ displayName: "Build & Test (all tests for ${{ platform.TestTargetFramework }})"
87+ env:
88+ DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
89+ DOTNET_CLI_TELEMETRY_OPTOUT: 1
90+ DOTNET_MULTILEVEL_LOOKUP: 0
91+ AZURE_TEST_MODE: "${{ coalesce(platform.TestMode, 'None') }}"
92+ ${{ insert }}: ${{ parameters.EnvVars }}
93+ ${{ insert }}: ${{ cloudConfig.value.EnvVars }}
8994
90- - template : /eng/common/TestResources/remove-test-resources.yml
91- parameters :
92- ServiceDirectory : ' ${{ parameters.ServiceDirectory }}'
93- SubscriptionConfiguration : ${{ parameters .SubscriptionConfiguration }}
95+ - template : /eng/common/TestResources/remove-test-resources.yml
96+ parameters :
97+ ServiceDirectory : ' ${{ parameters.ServiceDirectory }}'
98+ SubscriptionConfiguration : ${{ cloudConfig.value .SubscriptionConfiguration }}
9499
95- - task : PublishTestResults@2
96- condition : always()
97- displayName : " Publish Results (${{ platform.TestTargetFramework }})"
98- inputs :
99- testResultsFiles : " **/*.trx"
100- testRunTitle : " $(OSName) ${{ platform.TestTargetFramework }}"
101- testResultsFormat : " VSTest"
102- mergeTestResults : true
100+ - task : PublishTestResults@2
101+ condition : always()
102+ displayName : " Publish Results (${{ platform.TestTargetFramework }})"
103+ inputs :
104+ testResultsFiles : " **/*.trx"
105+ testRunTitle : " $(OSName) ${{ platform.TestTargetFramework }}"
106+ testResultsFormat : " VSTest"
107+ mergeTestResults : true
103108
104- - ${{ parameters.PostSteps }}
109+ - ${{ parameters.PostSteps }}
105110
106- - ${{ if platform.PostSteps }} :
107- - ${{ platform.PostSteps }}
111+ - ${{ if platform.PostSteps }} :
112+ - ${{ platform.PostSteps }}
0 commit comments