13
13
- job : smoke_test_eligibility
14
14
displayName : Check Smoke Test Eligibility
15
15
pool :
16
- name : " azsdk-pool-mms-ubuntu-2004-general"
17
- vmImage : " MMSUbuntu20.04"
16
+ name : azsdk-pool-mms-ubuntu-2004-general
17
+ image : azsdk-pool-mms-ubuntu-2004-1espt
18
+ os : linux
18
19
steps :
19
20
- ${{ if and(ne(variables['Skip.Release'], 'true'), ne(parameters.Artifact.skipPublishPackage, 'true')) }} :
20
21
- pwsh : |
34
35
RunSmokeTests: $(RunSmokeTests)
35
36
36
37
- job : run_smoke_test
37
- displayName : Run Smoke Test
38
+ displayName : Run Smoke Test Linux
38
39
${{ if eq(parameters.Daily, false) }} :
39
40
dependsOn : smoke_test_eligibility
40
41
condition : and(succeeded(), eq(dependencies.smoke_test_eligibility.outputs['output_eligibility.RunSmokeTests'], true))
@@ -50,78 +51,100 @@ jobs:
50
51
Python_27_Linux (AzureCloud) :
51
52
PythonVersion : ' 2.7'
52
53
SkipAsyncInstall : true
53
- Pool : " azsdk-pool-mms-ubuntu-2004-general"
54
- OSVmImage : " MMSUbuntu20.04 "
54
+ Pool : azsdk-pool-mms-ubuntu-2004-general
55
+ OSVmImage : azsdk-pool-mms-ubuntu-2004-1espt
55
56
SubscriptionConfiguration : $(sub-config-azure-cloud-test-resources)
56
57
ArmTemplateParameters : $(azureCloudArmParameters)
57
58
Python_37_Linux (AzureCloud) :
58
59
PythonVersion : ' 3.7'
59
- Pool : " azsdk-pool-mms-ubuntu-2004-general"
60
- OSVmImage : " MMSUbuntu20.04 "
60
+ Pool : azsdk-pool-mms-ubuntu-2004-general
61
+ OSVmImage : azsdk-pool-mms-ubuntu-2004-1espt
61
62
SubscriptionConfiguration : $(sub-config-azure-cloud-test-resources)
62
63
ArmTemplateParameters : $(azureCloudArmParameters)
63
64
Python_38_Linux (AzureCloud Canary) :
64
65
PythonVersion : ' 3.8'
65
- Pool : " azsdk-pool-mms-ubuntu-2004-general"
66
- OSVmImage : " MMSUbuntu20.04 "
66
+ Pool : azsdk-pool-mms-ubuntu-2004-general
67
+ OSVmImage : azsdk-pool-mms-ubuntu-2004-1espt
67
68
SubscriptionConfiguration : $(sub-config-azure-cloud-test-resources-preview)
68
69
ArmTemplateParameters : $(azureCloudArmParameters)
69
70
Location : ' eastus2euap'
71
+ Python_38_Linux (AzureUSGovernment) :
72
+ PythonVersion : ' 3.8'
73
+ Pool : azsdk-pool-mms-ubuntu-2004-general
74
+ OSVmImage : azsdk-pool-mms-ubuntu-2004-1espt
75
+ SubscriptionConfiguration : $(sub-config-gov-test-resources)
76
+ ArmTemplateParameters : $(azureUSGovernmentArmParameters)
77
+ Python_38_Linux (AzureChinaCloud) :
78
+ PythonVersion : ' 3.8'
79
+ Pool : azsdk-pool-mms-ubuntu-2004-general
80
+ OSVmImage : azsdk-pool-mms-ubuntu-2004-1espt
81
+ SubscriptionConfiguration : $(sub-config-cn-test-resources)
82
+ Location : ' chinanorth'
83
+ ArmTemplateParameters : $(azureChinaCloudArmParameters)
84
+
85
+ pool :
86
+ name : $(Pool)
87
+ vmImage : $(OSVmImage)
88
+ os : linux
89
+
90
+ variables :
91
+ - template : /eng/pipelines/templates/variables/globals.yml
92
+ - name : Location
93
+ value : ' '
94
+ - name : azureCloudArmParameters
95
+ value : " @{ storageEndpointSuffix = 'core.windows.net'; azureCloud = 'AzureCloud'; }"
96
+ - name : azureUSGovernmentArmParameters
97
+ value : " @{ storageEndpointSuffix = 'core.usgovcloudapi.net'; azureCloud = 'AzureUSGovernment'; }"
98
+ - name : azureChinaCloudArmParameters
99
+ value : " @{ storageEndpointSuffix = 'core.chinacloudapi.cn'; azureCloud = 'AzureChinaCloud'; }"
100
+ - name : requirements
101
+ ${{ if eq(parameters.Daily, true) }} :
102
+ value : $(Build.SourcesDirectory)/common/smoketest/requirements.txt
103
+ ${{ if eq(parameters.Daily, false) }} :
104
+ value : $(Build.SourcesDirectory)/common/smoketest/requirements-release.txt
105
+
106
+ steps :
107
+ - template : /eng/pipelines/templates/steps/smoke-test-steps.yml
108
+
109
+
110
+
111
+ - job : run_smoke_test
112
+ displayName : Run Smoke Test Windows
113
+ ${{ if eq(parameters.Daily, false) }} :
114
+ dependsOn : smoke_test_eligibility
115
+ condition : and(succeeded(), eq(dependencies.smoke_test_eligibility.outputs['output_eligibility.RunSmokeTests'], true))
116
+ strategy :
117
+ matrix :
118
+ ${{ if eq(parameters.Daily, true) }} :
70
119
Python_37_Windows (AzureCloud) :
71
120
PythonVersion : ' 3.7'
72
- Pool : " azsdk-pool-mms-win-2022-general"
73
- OSVmImage : " MMS2022 "
121
+ Pool : azsdk-pool-mms-win-2022-general
122
+ OSVmImage : azsdk-pool-mms-win-2022-1espt
74
123
SubscriptionConfiguration : $(sub-config-azure-cloud-test-resources)
75
124
ArmTemplateParameters : $(azureCloudArmParameters)
76
125
Python_38_Windows (AzureCloud) :
77
126
PythonVersion : ' 3.8'
78
- Pool : " azsdk-pool-mms-ubuntu-2004-general"
79
- OSVmImage : " MMSUbuntu20.04"
80
- SubscriptionConfiguration : $(sub-config-azure-cloud-test-resources)
81
- ArmTemplateParameters : $(azureCloudArmParameters)
82
- Python_37_Mac (AzureCloud) :
83
- PythonVersion : ' 3.7'
84
- Pool : Azure Pipelines
85
- OSVmImage : macos-11
86
- SubscriptionConfiguration : $(sub-config-azure-cloud-test-resources)
87
- ArmTemplateParameters : $(azureCloudArmParameters)
88
- Python_38_Mac (AzureCloud) :
89
- PythonVersion : ' 3.8'
90
- Pool : Azure Pipelines
91
- OSVmImage : macos-11
127
+ Pool : azsdk-pool-mms-win-2022-general
128
+ OSVmImage : azsdk-pool-mms-win-2022-1espt
92
129
SubscriptionConfiguration : $(sub-config-azure-cloud-test-resources)
93
130
ArmTemplateParameters : $(azureCloudArmParameters)
94
- Python_38_Linux (AzureUSGovernment) :
95
- PythonVersion : ' 3.8'
96
- Pool : " azsdk-pool-mms-ubuntu-2004-general"
97
- OSVmImage : " MMSUbuntu120.04"
98
- SubscriptionConfiguration : $(sub-config-gov-test-resources)
99
- ArmTemplateParameters : $(azureUSGovernmentArmParameters)
100
131
Python_37_Windows (AzureUSGovernment) :
101
132
PythonVersion : ' 3.7'
102
- Pool : " azsdk-pool-mms-ubuntu-2004 -general"
103
- OSVmImage : " MMSUbuntu20.04 "
133
+ Pool : azsdk-pool-mms-win-2022 -general
134
+ OSVmImage : azsdk-pool-mms-win-2022-1espt
104
135
SubscriptionConfiguration : $(sub-config-gov-test-resources)
105
136
ArmTemplateParameters : $(azureUSGovernmentArmParameters)
106
- Python_38_Linux (AzureChinaCloud) :
107
- PythonVersion : ' 3.8'
108
- Pool : " azsdk-pool-mms-ubuntu-2004-general"
109
- OSVmImage : " MMSUbuntu20.04"
110
- SubscriptionConfiguration : $(sub-config-cn-test-resources)
111
- Location : ' chinanorth'
112
- ArmTemplateParameters : $(azureChinaCloudArmParameters)
113
137
Python_37_Windows (AzureChinaCloud) :
114
138
PythonVersion : ' 3.7'
115
- Pool : " azsdk-pool-mms-ubuntu-2004 -general"
116
- OSVmImage : " MMSUbuntu20.04 "
139
+ Pool : azsdk-pool-mms-win-2022 -general
140
+ OSVmImage : azsdk-pool-mms-win-2022-1espt
117
141
SubscriptionConfiguration : $(sub-config-cn-test-resources)
118
142
Location : ' chinanorth'
119
143
ArmTemplateParameters : $(azureChinaCloudArmParameters)
120
-
121
144
pool :
122
145
name : $(Pool)
123
- vmImage : $(OSVmImage)
124
- os : $(os)
146
+ image : azsdk-pool-mms-win-2022-1espt
147
+ os : windows
125
148
126
149
variables :
127
150
- template : /eng/pipelines/templates/variables/globals.yml
@@ -140,107 +163,49 @@ jobs:
140
163
value : $(Build.SourcesDirectory)/common/smoketest/requirements-release.txt
141
164
142
165
steps :
143
- - template : /eng/common/pipelines/templates/steps/verify-agent-os.yml
144
- parameters :
145
- AgentImage : $(OSVmImage)
146
-
147
- - task : UsePythonVersion@0
148
- displayName : " Use Python $(PythonVersion)"
149
- inputs :
150
- versionSpec : $(PythonVersion)
151
-
152
- - script : |
153
- python -m pip install pip==20.0.2
154
- pip --version
155
- displayName: pip --version
156
-
157
- - ${{ if eq(parameters.Daily, false) }} :
158
- - download : current
159
- artifact : ${{ parameters.ArtifactName }}
160
- timeoutInMinutes : 5
161
-
162
- - pwsh : |
163
- $packages = Get-ChildItem "$(Pipeline.Workspace)/${{ parameters.ArtifactName }}/${{ parameters.Artifact.name }}/*.tar.gz"
164
- Write-Host "Artifacts found:"
165
- $artifacts = $packages | ForEach-Object {
166
- if ($_.Name -match "([a-zA-Z\-]+)\-(.*).tar.gz") {
167
- Write-Host "$($matches[1]): $($matches[2])"
168
- return @{ "name" = $matches[1]; "version" = $matches[2] }
169
- }
170
- }
171
- if ($artifacts.name -notcontains "${{parameters.Artifact.name}}") {
172
- Write-Host "Can't find package ${{parameters.Artifact.name}}"
173
- exit 1
174
- }
175
- $dependencies = Get-Content $(requirements) | ForEach-Object {
176
- $line = $_
177
- if ($line -match "([a-zA-Z\-]+)(\W+)(.*)") {
178
- $override = ($artifacts | Where-Object { $_.Name -eq $matches[1] }).Version
179
- if ($override) {
180
- $line = $line -replace '([a-zA-Z\-]+)(\W+)(.*)', ('${1}${2}' + $override)
181
- Write-Host "Overriding dependency to: $line"
182
- }
183
- }
184
- return $line
185
- }
186
-
187
- $dependencies | Out-File $(requirements)
188
-
189
- displayName: Override requirements with pipeline build artifact versions
190
-
191
- # Retry for pip install due to delay in package availability after publish
192
- # The package is expected to be available for download/installation within 10 minutes
193
- - pwsh : |
194
- $ErrorActionPreference = "Continue"
195
- while ($retries++ -lt 15) {
196
- Write-Host "python -m pip install -r $(requirements) --no-deps --upgrade --no-cache-dir"
197
- python -m pip install -r "$(requirements)" --no-deps --upgrade --no-cache-dir
198
- if ($LASTEXITCODE) {
199
- if ($retries -ge 15) {
200
- exit $LASTEXITCODE
201
- }
202
- Write-Host "Installation failed, retrying in 1 minute..."
203
- sleep 60
204
- } else {
205
- break
206
- }
207
- }
208
- displayName: Install requirements without dependencies
166
+ - template : /eng/pipelines/templates/steps/smoke-test-steps.yml
209
167
210
- - ${{ if eq(parameters.Daily, true) }} :
211
- - pwsh : |
212
- python -m pip install -r "$(requirements)" --pre --no-deps --upgrade `
213
- --index-url https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple
214
-
215
- displayName: Install requirements from dev feed without dependencies
216
-
217
- - pwsh : python -m pip install -r $(Build.SourcesDirectory)/common/smoketest/requirements_async.txt
218
- displayName : " Install requirements_async.txt"
219
- condition : and(succeeded(), ne(variables['SkipAsyncInstall'], true))
220
-
221
- - pwsh : |
222
- python $(Build.SourcesDirectory)/common/smoketest/dependencies.py -r "$(requirements)" `
223
- | Out-File $(Build.SourcesDirectory)/common/smoketest/requirements_dependencies.txt
224
- displayName: Create dependency list from installed packages
225
-
226
- - script : python -m pip install -r $(Build.SourcesDirectory)/common/smoketest/requirements_dependencies.txt
227
- displayName : Install package dependencies from PyPI
228
-
229
- - script : python -m pip freeze
230
- displayName : Show installed packages (pip freeze)
231
-
232
- - template : /eng/common/TestResources/deploy-test-resources.yml
233
- parameters :
234
- ServiceDirectory : ' $(Build.SourcesDirectory)/common/smoketest/'
235
- SubscriptionConfiguration : $(SubscriptionConfiguration)
236
- Location : $(Location)
237
- ArmTemplateParameters : $(ArmTemplateParameters)
168
+ - job : run_smoke_test
169
+ displayName : Run Smoke Test MacOS
170
+ ${{ if eq(parameters.Daily, false) }} :
171
+ dependsOn : smoke_test_eligibility
172
+ condition : and(succeeded(), eq(dependencies.smoke_test_eligibility.outputs['output_eligibility.RunSmokeTests'], true))
173
+ strategy :
174
+ matrix :
175
+ ${{ if eq(parameters.Daily, true) }} :
176
+ Python_37_Mac (AzureCloud) :
177
+ PythonVersion : ' 3.7'
178
+ Pool : Azure Pipelines
179
+ OSVmImage : macos-11
180
+ SubscriptionConfiguration : $(sub-config-azure-cloud-test-resources)
181
+ ArmTemplateParameters : $(azureCloudArmParameters)
182
+ Python_38_Mac (AzureCloud) :
183
+ PythonVersion : ' 3.8'
184
+ Pool : Azure Pipelines
185
+ OSVmImage : macos-11
186
+ SubscriptionConfiguration : $(sub-config-azure-cloud-test-resources)
187
+ ArmTemplateParameters : $(azureCloudArmParameters)
238
188
239
- - script : python $(Build.SourcesDirectory)/common/smoketest/program.py
240
- displayName : Run Smoke Test
189
+ pool :
190
+ name : $(Pool)
191
+ vmImage : $(OSVmImage)
192
+ os : macOS
241
193
242
- - template : /eng/common/TestResources/remove-test-resources.yml
243
- parameters :
244
- ServiceDirectory : ' $(Build.SourcesDirectory)/common/smoketest/'
245
- SubscriptionConfiguration : $(SubscriptionConfiguration)
194
+ variables :
195
+ - template : /eng/pipelines/templates/variables/globals.yml
196
+ - name : Location
197
+ value : ' '
198
+ - name : azureCloudArmParameters
199
+ value : " @{ storageEndpointSuffix = 'core.windows.net'; azureCloud = 'AzureCloud'; }"
200
+ - name : azureUSGovernmentArmParameters
201
+ value : " @{ storageEndpointSuffix = 'core.usgovcloudapi.net'; azureCloud = 'AzureUSGovernment'; }"
202
+ - name : azureChinaCloudArmParameters
203
+ value : " @{ storageEndpointSuffix = 'core.chinacloudapi.cn'; azureCloud = 'AzureChinaCloud'; }"
204
+ - name : requirements
205
+ ${{ if eq(parameters.Daily, true) }} :
206
+ value : $(Build.SourcesDirectory)/common/smoketest/requirements.txt
207
+ ${{ if eq(parameters.Daily, false) }} :
208
+ value : $(Build.SourcesDirectory)/common/smoketest/requirements-release.txt
246
209
210
+ steps :
211
+ - template : /eng/pipelines/templates/steps/smoke-test-steps.yml
0 commit comments