Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Smoke test isolation per package #20243

Merged
merged 30 commits into from
Aug 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
af410f1
Smoke test isolation per package
ckairen Aug 10, 2021
6b68e91
Smoke test isolation - remove unnecessary params
ckairen Aug 10, 2021
26b0d3d
Passing in single artifact for smoke test
ckairen Aug 10, 2021
8ffa999
Passing in single artifact for smoke test
ckairen Aug 10, 2021
eb25461
Merge branch 'main' of https://github.com/Azure/azure-sdk-for-python …
ckairen Aug 11, 2021
e228747
Temporarily adding azure-template in requirements-release
ckairen Aug 11, 2021
39b795e
Smoke test isolation per package
ckairen Aug 10, 2021
addea25
Smoke test isolation - remove unnecessary params
ckairen Aug 10, 2021
9251799
Passing in single artifact for smoke test
ckairen Aug 10, 2021
f6b62a9
Passing in single artifact for smoke test
ckairen Aug 10, 2021
108f9d1
Temporarily adding azure-template in requirements-release
ckairen Aug 11, 2021
3f8d2e8
Merge branch 'albertcheng/smoke-test-iso' of https://github.com/ckair…
ckairen Aug 11, 2021
f063941
Smoke test isolation - ArtifactName fix
ckairen Aug 11, 2021
3b56a24
Smoke test isolation - trimming down env matrix
ckairen Aug 11, 2021
ab943a9
Smoke test isolation - differentiating nightly build with other builds
ckairen Aug 11, 2021
1c5f364
Smoke test isolation per package
ckairen Aug 10, 2021
f61cbd0
Smoke test isolation - remove unnecessary params
ckairen Aug 10, 2021
8975171
Passing in single artifact for smoke test
ckairen Aug 10, 2021
42b4057
Passing in single artifact for smoke test
ckairen Aug 10, 2021
b28a57d
Temporarily adding azure-template in requirements-release
ckairen Aug 11, 2021
1e644c2
Smoke test isolation - ArtifactName fix
ckairen Aug 11, 2021
057ec90
Smoke test isolation - trimming down env matrix
ckairen Aug 11, 2021
6e4e083
Smoke test isolation - differentiating nightly build with other builds
ckairen Aug 11, 2021
c572f51
Smoke test isolation
ckairen Aug 10, 2021
8ad2b07
Smoke test isolation
ckairen Aug 10, 2021
06929a3
merge conflict
ckairen Aug 12, 2021
bfb7c22
Adding displayName for smoke test
ckairen Aug 12, 2021
4374033
Update eng/pipelines/templates/stages/archetype-python-release.yml
ckairen Aug 12, 2021
8da4005
Resolve PR suggestions
ckairen Aug 12, 2021
72f9f1b
Merge branch 'albertcheng/smoke-test-iso' of https://github.com/Azure…
ckairen Aug 12, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions common/smoketest/requirements-release.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ azure-keyvault-certificates>=0.0.0b1
azure-keyvault-keys>=0.0.0b1
azure-keyvault-secrets>=0.0.0b1
azure-storage-blob>=0.0.0b1
# Required for template release to trigger smoke tests
azure-template>=0.0.0b1
ckairen marked this conversation as resolved.
Show resolved Hide resolved
169 changes: 85 additions & 84 deletions eng/pipelines/templates/jobs/smoke.tests.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
parameters:
- name: Daily
default: true
- name: Artifacts
- name: Artifact
type: object
default: []
default: {}
- name: ArtifactName
type: string
default: "not-specified"
Expand All @@ -16,16 +16,15 @@ jobs:
name: "azsdk-pool-mms-ubuntu-2004-general"
vmImage: "MMSUbuntu20.04"
steps:
- ${{ each artifact in parameters.Artifacts }}:
- ${{ if and(ne(variables['Skip.Release'], 'true'), ne(artifact.skipPublishPackage, 'true')) }}:
- pwsh: |
$packages = Get-Content $(Build.SourcesDirectory)/common/smoketest/requirements-release.txt
if ($packages | Where-Object { $_ -match "${{ replace(artifact.name, '_', '-') }}" }) {
Write-Host "Smoke tests will run for ${{ artifact.name }}"
Write-Host "##vso[task.setvariable variable=RunSmokeTests;]true"
}
name: check_smoke_tests_${{ artifact.safeName }}
displayName: Check smoke test eligibility for ${{ artifact.name }}
- ${{ if and(ne(variables['Skip.Release'], 'true'), ne(parameters.Artifact.skipPublishPackage, 'true')) }}:
- pwsh: |
$packages = Get-Content $(Build.SourcesDirectory)/common/smoketest/requirements-release.txt
if ($packages | Where-Object { $_ -match "${{ replace(parameters.Artifact.name, '_', '-') }}" }) {
Write-Host "Smoke tests will run for ${{ parameters.Artifact.name }}"
Write-Host "##vso[task.setvariable variable=RunSmokeTests;]true"
}
name: check_smoke_tests_${{ parameters.Artifact.safeName }}
displayName: Check smoke test eligibility for ${{ parameters.Artifact.name }}

- pwsh: |
Write-Host "Setting RunSmokeTests to $($env:RunSmokeTests)"
Expand All @@ -34,89 +33,91 @@ jobs:
env:
RunSmokeTests: $(RunSmokeTests)

- job:
- job: run_smoke_test
displayName: Run Smoke Test
${{ if eq(parameters.Daily, false) }}:
dependsOn: smoke_test_eligibility
condition: and(succeeded(), eq(dependencies.smoke_test_eligibility.outputs['output_eligibility.RunSmokeTests'], true))
strategy:
matrix:
Python_27_Linux (AzureCloud):
PythonVersion: '2.7'
SkipAsyncInstall: true
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
ArmTemplateParameters: $(azureCloudArmParameters)
Python_37_Linux (AzureCloud):
PythonVersion: '3.7'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
ArmTemplateParameters: $(azureCloudArmParameters)
Python_38_Linux (AzureCloud):
PythonVersion: '3.8'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
ArmTemplateParameters: $(azureCloudArmParameters)
Python_38_Linux (AzureCloud Canary):
PythonVersion: '3.8'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources-preview)
ArmTemplateParameters: $(azureCloudArmParameters)
Location: 'eastus2euap'
Python_37_Windows (AzureCloud):
PythonVersion: '3.7'
Pool: "azsdk-pool-mms-win-2019-general"
OSVmImage: "MMS2019"
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
ArmTemplateParameters: $(azureCloudArmParameters)
Python_38_Windows (AzureCloud):
PythonVersion: '3.8'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
ArmTemplateParameters: $(azureCloudArmParameters)
Python_37_Mac (AzureCloud):
PythonVersion: '3.7'
Pool: Azure Pipelines
OSVmImage: macOS-10.15
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
ArmTemplateParameters: $(azureCloudArmParameters)
Python_38_Mac (AzureCloud):
PythonVersion: '3.8'
Pool: Azure Pipelines
OSVmImage: macOS-10.15
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
ArmTemplateParameters: $(azureCloudArmParameters)
Python_38_Linux (AzureUSGovernment):
PythonVersion: '3.8'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu120.04"
SubscriptionConfiguration: $(sub-config-gov-test-resources)
ArmTemplateParameters: $(azureUSGovernmentArmParameters)
Python_37_Windows (AzureUSGovernment):
PythonVersion: '3.7'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-gov-test-resources)
ArmTemplateParameters: $(azureUSGovernmentArmParameters)
Python_38_Linux (AzureChinaCloud):
PythonVersion: '3.8'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-cn-test-resources)
Location: 'chinanorth'
ArmTemplateParameters: $(azureChinaCloudArmParameters)
Python_37_Windows (AzureChinaCloud):
PythonVersion: '3.7'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-cn-test-resources)
Location: 'chinanorth'
ArmTemplateParameters: $(azureChinaCloudArmParameters)

${{ if eq(parameters.Daily, true) }}:
Python_27_Linux (AzureCloud):
PythonVersion: '2.7'
SkipAsyncInstall: true
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
ArmTemplateParameters: $(azureCloudArmParameters)
Python_37_Linux (AzureCloud):
PythonVersion: '3.7'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
ArmTemplateParameters: $(azureCloudArmParameters)
Python_38_Linux (AzureCloud Canary):
PythonVersion: '3.8'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources-preview)
ArmTemplateParameters: $(azureCloudArmParameters)
Location: 'eastus2euap'
Python_37_Windows (AzureCloud):
PythonVersion: '3.7'
Pool: "azsdk-pool-mms-win-2019-general"
OSVmImage: "MMS2019"
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
ArmTemplateParameters: $(azureCloudArmParameters)
Python_38_Windows (AzureCloud):
PythonVersion: '3.8'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
ArmTemplateParameters: $(azureCloudArmParameters)
Python_37_Mac (AzureCloud):
PythonVersion: '3.7'
Pool: Azure Pipelines
OSVmImage: macOS-10.15
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
ArmTemplateParameters: $(azureCloudArmParameters)
Python_38_Mac (AzureCloud):
PythonVersion: '3.8'
Pool: Azure Pipelines
OSVmImage: macOS-10.15
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
ArmTemplateParameters: $(azureCloudArmParameters)
Python_38_Linux (AzureUSGovernment):
PythonVersion: '3.8'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu120.04"
SubscriptionConfiguration: $(sub-config-gov-test-resources)
ArmTemplateParameters: $(azureUSGovernmentArmParameters)
Python_37_Windows (AzureUSGovernment):
PythonVersion: '3.7'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-gov-test-resources)
ArmTemplateParameters: $(azureUSGovernmentArmParameters)
Python_38_Linux (AzureChinaCloud):
PythonVersion: '3.8'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-cn-test-resources)
Location: 'chinanorth'
ArmTemplateParameters: $(azureChinaCloudArmParameters)
Python_37_Windows (AzureChinaCloud):
PythonVersion: '3.7'
Pool: "azsdk-pool-mms-ubuntu-2004-general"
OSVmImage: "MMSUbuntu20.04"
SubscriptionConfiguration: $(sub-config-cn-test-resources)
Location: 'chinanorth'
ArmTemplateParameters: $(azureChinaCloudArmParameters)

pool:
name: $(Pool)
vmImage: $(OSVmImage)
Expand Down
15 changes: 6 additions & 9 deletions eng/pipelines/templates/stages/archetype-python-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -222,16 +222,13 @@ stages:
PRTitle: "Increment version for ${{ parameters.ServiceDirectory }} releases"
PRLabels: "auto-merge"
CloseAfterOpenForTesting: '${{ parameters.TestPipeline }}'
- ${{if and(eq(variables['Build.Reason'], 'Manual'), eq(variables['System.TeamProject'], 'internal'))}}:
- template: /eng/pipelines/templates/jobs/smoke.tests.yml
parameters:
Daily: false
ArtifactName: ${{ parameters.ArtifactName }}
Artifact: ${{ artifact }}

- ${{if and(eq(variables['Build.Reason'], 'Manual'), eq(variables['System.TeamProject'], 'internal'))}}:
- stage: SmokeTest_Release_Packages
displayName: Smoke Test Release Packages
jobs:
- template: /eng/pipelines/templates/jobs/smoke.tests.yml
parameters:
Daily: false
ArtifactName: ${{ parameters.ArtifactName }}
Artifacts: ${{ parameters.Artifacts }}

- stage: Integration
dependsOn: ${{parameters.DependsOn}}
Expand Down