Skip to content

Commit e68a7d5

Browse files
committed
update smoke tests, ensure that the smoke test eligibility check passes
1 parent 852638a commit e68a7d5

File tree

3 files changed

+216
-146
lines changed

3 files changed

+216
-146
lines changed

eng/pipelines/templates/jobs/smoke.tests.yml

Lines changed: 110 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ jobs:
1313
- job: smoke_test_eligibility
1414
displayName: Check Smoke Test Eligibility
1515
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
1819
steps:
1920
- ${{ if and(ne(variables['Skip.Release'], 'true'), ne(parameters.Artifact.skipPublishPackage, 'true')) }}:
2021
- pwsh: |
@@ -34,7 +35,7 @@ jobs:
3435
RunSmokeTests: $(RunSmokeTests)
3536
3637
- job: run_smoke_test
37-
displayName: Run Smoke Test
38+
displayName: Run Smoke Test Linux
3839
${{ if eq(parameters.Daily, false) }}:
3940
dependsOn: smoke_test_eligibility
4041
condition: and(succeeded(), eq(dependencies.smoke_test_eligibility.outputs['output_eligibility.RunSmokeTests'], true))
@@ -50,78 +51,100 @@ jobs:
5051
Python_27_Linux (AzureCloud):
5152
PythonVersion: '2.7'
5253
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
5556
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
5657
ArmTemplateParameters: $(azureCloudArmParameters)
5758
Python_37_Linux (AzureCloud):
5859
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
6162
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
6263
ArmTemplateParameters: $(azureCloudArmParameters)
6364
Python_38_Linux (AzureCloud Canary):
6465
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
6768
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources-preview)
6869
ArmTemplateParameters: $(azureCloudArmParameters)
6970
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) }}:
70119
Python_37_Windows (AzureCloud):
71120
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
74123
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
75124
ArmTemplateParameters: $(azureCloudArmParameters)
76125
Python_38_Windows (AzureCloud):
77126
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
92129
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
93130
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)
100131
Python_37_Windows (AzureUSGovernment):
101132
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
104135
SubscriptionConfiguration: $(sub-config-gov-test-resources)
105136
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)
113137
Python_37_Windows (AzureChinaCloud):
114138
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
117141
SubscriptionConfiguration: $(sub-config-cn-test-resources)
118142
Location: 'chinanorth'
119143
ArmTemplateParameters: $(azureChinaCloudArmParameters)
120-
121144
pool:
122145
name: $(Pool)
123-
vmImage: $(OSVmImage)
124-
os: $(os)
146+
image: azsdk-pool-mms-win-2022-1espt
147+
os: windows
125148

126149
variables:
127150
- template: /eng/pipelines/templates/variables/globals.yml
@@ -140,107 +163,49 @@ jobs:
140163
value: $(Build.SourcesDirectory)/common/smoketest/requirements-release.txt
141164

142165
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
209167

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)
238188

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
241193

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
246209

210+
steps:
211+
- template: /eng/pipelines/templates/steps/smoke-test-steps.yml

eng/pipelines/templates/stages/archetype-sdk-client.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ extends:
9191
parameters:
9292
sdl:
9393
sourceAnalysisPool:
94-
name: azsdk-pool-mms-win-2022-1es-pt
94+
name: azsdk-pool-mms-win-2022-general
9595
image: azsdk-pool-mms-win-2022-1espt
9696
os: windows
9797
eslint:

0 commit comments

Comments
 (0)