Skip to content

Commit 4018513

Browse files
authored
Implemented live test email notification (#21565)
1 parent 5071fde commit 4018513

File tree

9 files changed

+483
-150
lines changed

9 files changed

+483
-150
lines changed

.azure-pipelines/live-test.yml

Lines changed: 134 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
parameters:
2-
- name: img_windows_2019
2+
- name: os_windows_2019
33
displayName: Windows 2019 Image Version
44
type: string
55
default: windows-2019
6-
- name: img_windows_2022
6+
- name: os_windows_2022
77
displayName: Windows 2022 Image Version
88
type: string
99
default: windows-2022
10-
- name: img_linux
10+
- name: os_linux
1111
displayName: Linux Image Version
1212
type: string
1313
default: ubuntu-20.04
14-
- name: img_macos
14+
- name: os_macos
1515
displayName: MacOS Image Version
1616
type: string
1717
default: macOS-11
@@ -55,115 +55,133 @@ schedules:
5555
pr: none
5656
trigger: none
5757

58-
jobs:
59-
- template: util/live-test-steps.yml
60-
parameters:
61-
name: 'win_ps_5_1_win_2019'
62-
vmImage: ${{ parameters.img_windows_2019 }}
63-
osType: 'Windows'
64-
psVersion: ${{ parameters.win_ps_5_1 }}
65-
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
66-
67-
- template: util/live-test-steps.yml
68-
parameters:
69-
name: 'win_ps_5_1_win_2022'
70-
vmImage: ${{ parameters.img_windows_2022 }}
71-
osType: 'Windows'
72-
psVersion: ${{ parameters.win_ps_5_1 }}
73-
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
74-
75-
- template: util/live-test-steps.yml
76-
parameters:
77-
name: 'ps_7_2_x_win_2019'
78-
vmImage: ${{ parameters.img_windows_2019 }}
79-
osType: 'Windows'
80-
psVersion: ${{ parameters.ps_7_2_x }}
81-
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
82-
83-
- template: util/live-test-steps.yml
84-
parameters:
85-
name: 'ps_7_3_x_win_2019'
86-
vmImage: ${{ parameters.img_windows_2019 }}
87-
osType: 'Windows'
88-
psVersion: ${{ parameters.ps_7_3_x }}
89-
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
90-
91-
- template: util/live-test-steps.yml
92-
parameters:
93-
name: 'ps_latest_win_2019'
94-
vmImage: ${{ parameters.img_windows_2019 }}
95-
osType: 'Windows'
96-
psVersion: ${{ parameters.ps_latest }}
97-
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
98-
99-
- template: util/live-test-steps.yml
100-
parameters:
101-
name: 'ps_7_2_x_win_2022'
102-
vmImage: ${{ parameters.img_windows_2022 }}
103-
osType: 'Windows'
104-
psVersion: ${{ parameters.ps_7_2_x }}
105-
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
106-
107-
- template: util/live-test-steps.yml
108-
parameters:
109-
name: 'ps_7_3_x_win_2022'
110-
vmImage: ${{ parameters.img_windows_2022 }}
111-
osType: 'Windows'
112-
psVersion: ${{ parameters.ps_7_3_x }}
113-
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
114-
115-
- template: util/live-test-steps.yml
116-
parameters:
117-
name: 'ps_latest_win_2022'
118-
vmImage: ${{ parameters.img_windows_2022 }}
119-
osType: 'Windows'
120-
psVersion: ${{ parameters.ps_latest }}
121-
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
122-
123-
- template: util/live-test-steps.yml
124-
parameters:
125-
name: 'ps_7_2_x_linux'
126-
vmImage: ${{ parameters.img_linux }}
127-
osType: 'Linux'
128-
psVersion: ${{ parameters.ps_7_2_x }}
129-
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
130-
131-
- template: util/live-test-steps.yml
132-
parameters:
133-
name: 'ps_7_3_x_linux'
134-
vmImage: ${{ parameters.img_linux }}
135-
osType: 'Linux'
136-
psVersion: ${{ parameters.ps_7_3_x }}
137-
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
138-
139-
- template: util/live-test-steps.yml
140-
parameters:
141-
name: 'ps_latest_linux'
142-
vmImage: ${{ parameters.img_linux }}
143-
osType: 'Linux'
144-
psVersion: ${{ parameters.ps_latest }}
145-
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
146-
147-
- template: util/live-test-steps.yml
148-
parameters:
149-
name: 'ps_7_2_x_macOS'
150-
vmImage: ${{ parameters.img_macos }}
151-
osType: 'MacOS'
152-
psVersion: ${{ parameters.ps_7_2_x }}
153-
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
154-
155-
- template: util/live-test-steps.yml
156-
parameters:
157-
name: 'ps_7_3_x_macOS'
158-
vmImage: ${{ parameters.img_macos }}
159-
osType: 'MacOS'
160-
psVersion: ${{ parameters.ps_7_3_x }}
161-
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
162-
163-
- template: util/live-test-steps.yml
164-
parameters:
165-
name: 'ps_latest_macOS'
166-
vmImage: ${{ parameters.img_macos }}
167-
osType: 'MacOS'
168-
psVersion: ${{ parameters.ps_latest }}
169-
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
58+
stages:
59+
- stage: Test
60+
displayName: Run Live Test
61+
jobs:
62+
- template: util/live-test-steps.yml
63+
parameters:
64+
name: 'win_ps_5_1_win_2019'
65+
vmImage: ${{ parameters.os_windows_2019 }}
66+
osType: 'Windows'
67+
psVersion: ${{ parameters.win_ps_5_1 }}
68+
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
69+
70+
- template: util/live-test-steps.yml
71+
parameters:
72+
name: 'win_ps_5_1_win_2022'
73+
vmImage: ${{ parameters.os_windows_2022 }}
74+
osType: 'Windows'
75+
psVersion: ${{ parameters.win_ps_5_1 }}
76+
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
77+
78+
- template: util/live-test-steps.yml
79+
parameters:
80+
name: 'ps_7_2_x_win_2019'
81+
vmImage: ${{ parameters.os_windows_2019 }}
82+
osType: 'Windows'
83+
psVersion: ${{ parameters.ps_7_2_x }}
84+
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
85+
86+
- template: util/live-test-steps.yml
87+
parameters:
88+
name: 'ps_7_3_x_win_2019'
89+
vmImage: ${{ parameters.os_windows_2019 }}
90+
osType: 'Windows'
91+
psVersion: ${{ parameters.ps_7_3_x }}
92+
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
93+
94+
- template: util/live-test-steps.yml
95+
parameters:
96+
name: 'ps_latest_win_2019'
97+
vmImage: ${{ parameters.os_windows_2019 }}
98+
osType: 'Windows'
99+
psVersion: ${{ parameters.ps_latest }}
100+
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
101+
102+
- template: util/live-test-steps.yml
103+
parameters:
104+
name: 'ps_7_2_x_win_2022'
105+
vmImage: ${{ parameters.os_windows_2022 }}
106+
osType: 'Windows'
107+
psVersion: ${{ parameters.ps_7_2_x }}
108+
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
109+
110+
- template: util/live-test-steps.yml
111+
parameters:
112+
name: 'ps_7_3_x_win_2022'
113+
vmImage: ${{ parameters.os_windows_2022 }}
114+
osType: 'Windows'
115+
psVersion: ${{ parameters.ps_7_3_x }}
116+
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
117+
118+
- template: util/live-test-steps.yml
119+
parameters:
120+
name: 'ps_latest_win_2022'
121+
vmImage: ${{ parameters.os_windows_2022 }}
122+
osType: 'Windows'
123+
psVersion: ${{ parameters.ps_latest }}
124+
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
125+
126+
- template: util/live-test-steps.yml
127+
parameters:
128+
name: 'ps_7_2_x_linux'
129+
vmImage: ${{ parameters.os_linux }}
130+
osType: 'Linux'
131+
psVersion: ${{ parameters.ps_7_2_x }}
132+
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
133+
134+
- template: util/live-test-steps.yml
135+
parameters:
136+
name: 'ps_7_3_x_linux'
137+
vmImage: ${{ parameters.os_linux }}
138+
osType: 'Linux'
139+
psVersion: ${{ parameters.ps_7_3_x }}
140+
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
141+
142+
- template: util/live-test-steps.yml
143+
parameters:
144+
name: 'ps_latest_linux'
145+
vmImage: ${{ parameters.os_linux }}
146+
osType: 'Linux'
147+
psVersion: ${{ parameters.ps_latest }}
148+
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
149+
150+
- template: util/live-test-steps.yml
151+
parameters:
152+
name: 'ps_7_2_x_macOS'
153+
vmImage: ${{ parameters.os_macos }}
154+
osType: 'MacOS'
155+
psVersion: ${{ parameters.ps_7_2_x }}
156+
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
157+
158+
- template: util/live-test-steps.yml
159+
parameters:
160+
name: 'ps_7_3_x_macOS'
161+
vmImage: ${{ parameters.os_macos }}
162+
osType: 'MacOS'
163+
psVersion: ${{ parameters.ps_7_3_x }}
164+
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
165+
166+
- template: util/live-test-steps.yml
167+
parameters:
168+
name: 'ps_latest_macOS'
169+
vmImage: ${{ parameters.os_macos }}
170+
osType: 'MacOS'
171+
psVersion: ${{ parameters.ps_latest }}
172+
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
173+
174+
- stage: Report
175+
displayName: Send Report
176+
dependsOn: Test
177+
jobs:
178+
- job:
179+
displayName: Send Live Test Status Report
180+
steps:
181+
- task: PowerShell@2
182+
displayName: Send live test report
183+
inputs:
184+
pwsh: true
185+
targetType: filePath
186+
filePath: ./tools/TestFx/Live/SendLiveTestReport.ps1
187+
arguments: $(KustoServicePrincipalTenantId) $(KustoServicePrincipalId) $(KustoServicePrincipalSecret) $(KustoClusterName) $(KustoClusterRegion) $(LiveTestDatabaseName) $(LiveTestTableName) $(Build.BuildId) "$(EmailServiceConnectionString)" "$(EmailFrom)" "$(EmailTo)"

.azure-pipelines/util/live-test-steps.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ jobs:
120120
targetType: filePath
121121
filePath: ./tools/TestFx/Live/InvokeLiveTestCITask.ps1
122122
arguments: -UseWindowsPowerShell ('${{ parameters.psVersion }}' -eq '5.1') -ScriptFile './tools/TestFx/Live/InvokeLiveTestScenarios.ps1 -RunPlatform ${{ parameters.osType }} -RunPowerShell ${{ parameters.psVersion }} -PowerShellLatest $(PowerShellLatest) -RepoLocation $(Build.SourcesDirectory) -DataLocation $(DataLocation)'
123+
retryCountOnTaskFailure: 3
123124

124125
- task: PowerShell@2
125126
displayName: Save live test results to Kusto
@@ -135,6 +136,6 @@ jobs:
135136
- task: PublishPipelineArtifact@1
136137
displayName: Publish live test results to pipeline artifact
137138
inputs:
138-
artifact: livetest-os-${{ parameters.vmImage }}-powershell-${{ parameters.name }}
139+
artifact: livetest-os-${{ parameters.vmImage }}-ps-${{ replace(parameters.psVersion, '*', 'x') }}
139140
targetPath: $(DataLocation)
140141
condition: always()

tools/TestFx/Live/SaveLiveTestResult.ps1

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -69,16 +69,8 @@ if (![string]::IsNullOrWhiteSpace($liveTestResults)) {
6969
Export-Csv -Path $_ -Encoding utf8 -NoTypeInformation -Force
7070
}
7171

72-
Import-Module "./tools/TestFx/Utilities/KustoUtility.psd1" -Force
73-
Import-KustoDataFromCsv `
74-
-ServicePrincipalTenantId $ServicePrincipalTenantId `
75-
-ServicePrincipalId $ServicePrincipalId `
76-
-ServicePrincipalSecret $ServicePrincipalSecret `
77-
-ClusterName $ClusterName `
78-
-ClusterRegion $ClusterRegion `
79-
-DatabaseName $DatabaseName `
80-
-TableName $TableName `
81-
-CsvFile $liveTestResults
72+
Import-Module "./tools/TestFx/Utilities/KustoUtility.psd1" -ArgumentList $ServicePrincipalTenantId, $ServicePrincipalId, $ServicePrincipalSecret, $ClusterName, $ClusterRegion -Force
73+
Import-KustoDataFromCsv -DatabaseName $DatabaseName -TableName $TableName -CsvFile $liveTestResults
8274
}
8375
else {
8476
Write-Host "##[warning]No live test data was found."

0 commit comments

Comments
 (0)