@@ -102,6 +102,10 @@ parameters:
102
102
- name : ToxTestEnv
103
103
type : string
104
104
default : ' whl'
105
+ - name : Packages
106
+ type : object
107
+ default : []
108
+
105
109
106
110
extends :
107
111
${{ if eq(variables['System.TeamProject'], 'internal') }} :
@@ -133,60 +137,115 @@ extends:
133
137
baselineFiles : $(Build.SourcesDirectory)/eng/<language>.gdnbaselines
134
138
135
139
stages :
136
- - ${{ each cloud in parameters.CloudConfig }} :
137
- - ${{ if or(contains(parameters.Clouds, cloud.key), and(contains(variables['Build.DefinitionName'], 'tests-weekly'), contains(parameters.SupportedClouds, cloud.key))) }} :
138
- - ${{ if not(contains(parameters.UnsupportedClouds, cloud.key)) }} :
139
- - stage : ${{ cloud.key }}_${{ parameters.JobName }}
140
- dependsOn : []
141
- jobs :
142
- - template : /eng/common/pipelines/templates/jobs/generate-job-matrix.yml@self
143
- parameters :
144
- SparseCheckoutPaths :
145
- - sdk/${{ parameters.ServiceDirectory }}/**/*.json
146
- JobTemplatePath : /eng/pipelines/templates/jobs/live.tests.yml
147
- OsVmImage : azsdk-pool-mms-ubuntu-2004-1espt
148
- Pool : azsdk-pool-mms-ubuntu-2004-general
149
- AdditionalParameters :
150
- ServiceDirectory : ${{ parameters.ServiceDirectory }}
151
- TestResourceDirectories : ${{ parameters.TestResourceDirectories }}
152
- PreSteps :
153
- - ${{ parameters.PlatformPreSteps }}
154
- - ${{ parameters.PreSteps }}
155
- PostSteps :
156
- - ${{ parameters.PlatformPostSteps }}
157
- - ${{ parameters.PostSteps }}
158
- EnvVars : ${{ parameters.EnvVars }}
159
- MaxParallel : ${{ parameters.MaxParallel }}
160
- BeforeTestSteps : ${{ parameters.BeforeTestSteps }}
161
- AfterTestSteps : ${{ parameters.AfterTestSteps }}
162
- AdditionalTestArgs : ${{ parameters.AdditionalTestArgs }}
163
- BuildTargetingString : ${{ parameters.BuildTargetingString }}
164
- TestMarkArgument : ${{ parameters.TestMarkArgument }}
165
- InjectedPackages : ${{ parameters.InjectedPackages }}
166
- BuildDocs : ${{ parameters.BuildDocs }}
167
- TestTimeoutInMinutes : ${{ parameters.TestTimeoutInMinutes }}
168
- TestProxy : ${{ parameters.TestProxy }}
169
- ToxTestEnv : ${{ parameters.ToxTestEnv }}
170
- MatrixConfigs :
171
- # Enumerate platforms and additional platforms based on supported clouds (sparse platform<-->cloud matrix).
172
- - ${{ each config in parameters.MatrixConfigs }} :
173
- - ${{ config }}
174
- - ${{ each config in parameters.AdditionalMatrixConfigs }} :
175
- - ${{ config }}
176
- MatrixFilters :
177
- - ${{ each cloudFilter in cloud.value.MatrixFilters }} :
178
- - ${{ cloudFilter }}
179
- - ${{ parameters.MatrixFilters }}
180
- MatrixReplace :
181
- - ${{ each cloudReplace in cloud.value.MatrixReplace }} :
182
- - ${{ cloudReplace }}
183
- - ${{ parameters.MatrixReplace }}
184
- CloudConfig :
185
- SubscriptionConfiguration : ${{ cloud.value.SubscriptionConfiguration }}
186
- SubscriptionConfigurations : ${{ cloud.value.SubscriptionConfigurations }}
187
- Location : ${{ coalesce(parameters.Location, cloud.value.Location) }}
188
- Cloud : ${{ cloud.key }}
189
-
140
+ - ${{ if ne(length(parameters.Packages), 0) }} :
141
+ - ${{ each package in parameters.Packages }} :
142
+ - ${{ each cloud in parameters.CloudConfig }} :
143
+ - ${{ if or(contains(parameters.Clouds, cloud.key), and(contains(variables['Build.DefinitionName'], 'tests-weekly'), contains(parameters.SupportedClouds, cloud.key))) }} :
144
+ - ${{ if not(contains(parameters.UnsupportedClouds, cloud.key)) }} :
145
+ - stage : ${{ cloud.key }}_${{ parameters.JobName }}_${{ replace(package, '-', '_') }}
146
+ dependsOn : []
147
+ jobs :
148
+ - template : /eng/common/pipelines/templates/jobs/generate-job-matrix.yml@self
149
+ parameters :
150
+ SparseCheckoutPaths :
151
+ - sdk/${{ parameters.ServiceDirectory }}/**/*.json
152
+ JobTemplatePath : /eng/pipelines/templates/jobs/live.tests.yml
153
+ OsVmImage : azsdk-pool-mms-ubuntu-2004-1espt
154
+ Pool : azsdk-pool-mms-ubuntu-2004-general
155
+ AdditionalParameters :
156
+ ServiceDirectory : ${{ parameters.ServiceDirectory }}
157
+ TestResourceDirectories : ${{ parameters.TestResourceDirectories }}
158
+ PreSteps :
159
+ - ${{ parameters.PlatformPreSteps }}
160
+ - ${{ parameters.PreSteps }}
161
+ PostSteps :
162
+ - ${{ parameters.PlatformPostSteps }}
163
+ - ${{ parameters.PostSteps }}
164
+ EnvVars : ${{ parameters.EnvVars }}
165
+ MaxParallel : ${{ parameters.MaxParallel }}
166
+ BeforeTestSteps : ${{ parameters.BeforeTestSteps }}
167
+ AfterTestSteps : ${{ parameters.AfterTestSteps }}
168
+ AdditionalTestArgs : ${{ parameters.AdditionalTestArgs }}
169
+ BuildTargetingString : ${{ package }}
170
+ TestMarkArgument : ${{ parameters.TestMarkArgument }}
171
+ InjectedPackages : ${{ parameters.InjectedPackages }}
172
+ BuildDocs : ${{ parameters.BuildDocs }}
173
+ TestTimeoutInMinutes : ${{ parameters.TestTimeoutInMinutes }}
174
+ TestProxy : ${{ parameters.TestProxy }}
175
+ ToxTestEnv : ${{ parameters.ToxTestEnv }}
176
+ MatrixConfigs :
177
+ # Enumerate platforms and additional platforms based on supported clouds (sparse platform<-->cloud matrix).
178
+ - ${{ each config in parameters.MatrixConfigs }} :
179
+ - ${{ config }}
180
+ - ${{ each config in parameters.AdditionalMatrixConfigs }} :
181
+ - ${{ config }}
182
+ MatrixFilters :
183
+ - ${{ each cloudFilter in cloud.value.MatrixFilters }} :
184
+ - ${{ cloudFilter }}
185
+ - ${{ parameters.MatrixFilters }}
186
+ MatrixReplace :
187
+ - ${{ each cloudReplace in cloud.value.MatrixReplace }} :
188
+ - ${{ cloudReplace }}
189
+ - ${{ parameters.MatrixReplace }}
190
+ CloudConfig :
191
+ SubscriptionConfiguration : ${{ cloud.value.SubscriptionConfiguration }}
192
+ SubscriptionConfigurations : ${{ cloud.value.SubscriptionConfigurations }}
193
+ Location : ${{ coalesce(parameters.Location, cloud.value.Location) }}
194
+ Cloud : ${{ cloud.key }}
195
+ - ${{ else }} :
196
+ - ${{ each cloud in parameters.CloudConfig }} :
197
+ - ${{ if or(contains(parameters.Clouds, cloud.key), and(contains(variables['Build.DefinitionName'], 'tests-weekly'), contains(parameters.SupportedClouds, cloud.key))) }} :
198
+ - ${{ if not(contains(parameters.UnsupportedClouds, cloud.key)) }} :
199
+ - stage : ${{ cloud.key }}_${{ parameters.JobName }}
200
+ dependsOn : []
201
+ jobs :
202
+ - template : /eng/common/pipelines/templates/jobs/generate-job-matrix.yml@self
203
+ parameters :
204
+ SparseCheckoutPaths :
205
+ - sdk/${{ parameters.ServiceDirectory }}/**/*.json
206
+ JobTemplatePath : /eng/pipelines/templates/jobs/live.tests.yml
207
+ OsVmImage : azsdk-pool-mms-ubuntu-2004-1espt
208
+ Pool : azsdk-pool-mms-ubuntu-2004-general
209
+ AdditionalParameters :
210
+ ServiceDirectory : ${{ parameters.ServiceDirectory }}
211
+ TestResourceDirectories : ${{ parameters.TestResourceDirectories }}
212
+ PreSteps :
213
+ - ${{ parameters.PlatformPreSteps }}
214
+ - ${{ parameters.PreSteps }}
215
+ PostSteps :
216
+ - ${{ parameters.PlatformPostSteps }}
217
+ - ${{ parameters.PostSteps }}
218
+ EnvVars : ${{ parameters.EnvVars }}
219
+ MaxParallel : ${{ parameters.MaxParallel }}
220
+ BeforeTestSteps : ${{ parameters.BeforeTestSteps }}
221
+ AfterTestSteps : ${{ parameters.AfterTestSteps }}
222
+ AdditionalTestArgs : ${{ parameters.AdditionalTestArgs }}
223
+ BuildTargetingString : ${{ parameters.BuildTargetingString }}
224
+ TestMarkArgument : ${{ parameters.TestMarkArgument }}
225
+ InjectedPackages : ${{ parameters.InjectedPackages }}
226
+ BuildDocs : ${{ parameters.BuildDocs }}
227
+ TestTimeoutInMinutes : ${{ parameters.TestTimeoutInMinutes }}
228
+ TestProxy : ${{ parameters.TestProxy }}
229
+ ToxTestEnv : ${{ parameters.ToxTestEnv }}
230
+ MatrixConfigs :
231
+ # Enumerate platforms and additional platforms based on supported clouds (sparse platform<-->cloud matrix).
232
+ - ${{ each config in parameters.MatrixConfigs }} :
233
+ - ${{ config }}
234
+ - ${{ each config in parameters.AdditionalMatrixConfigs }} :
235
+ - ${{ config }}
236
+ MatrixFilters :
237
+ - ${{ each cloudFilter in cloud.value.MatrixFilters }} :
238
+ - ${{ cloudFilter }}
239
+ - ${{ parameters.MatrixFilters }}
240
+ MatrixReplace :
241
+ - ${{ each cloudReplace in cloud.value.MatrixReplace }} :
242
+ - ${{ cloudReplace }}
243
+ - ${{ parameters.MatrixReplace }}
244
+ CloudConfig :
245
+ SubscriptionConfiguration : ${{ cloud.value.SubscriptionConfiguration }}
246
+ SubscriptionConfigurations : ${{ cloud.value.SubscriptionConfigurations }}
247
+ Location : ${{ coalesce(parameters.Location, cloud.value.Location) }}
248
+ Cloud : ${{ cloud.key }}
190
249
- template : /eng/pipelines/templates/stages/python-analyze-weekly.yml@self
191
250
parameters :
192
251
BuildTargetingString : ${{ parameters.BuildTargetingString }}
0 commit comments