Skip to content

Commit 79caa9a

Browse files
Merged with main, resolved conflicts
2 parents 5ffb787 + 6741dfb commit 79caa9a

File tree

6,351 files changed

+777539
-327401
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

6,351 files changed

+777539
-327401
lines changed

.azure-pipelines/SyncFromMainBranchConfig.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
"src/Az.Shared.props",
1111
"src/Az.Test.props",
1212
"src/Az.autorest.hybrid.props",
13+
"src/Az.autorest.hybrid.v2.props",
14+
"src/Az.autorest.props",
15+
"src/Az.Post.props",
1316
"src/psm1.props",
1417
"NuGet.Config"
1518
],

.azure-pipelines/live-test.yml

Lines changed: 113 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
parameters:
2-
- name: win_image
3-
displayName: Windows Image Version
2+
- name: img_windows_2019
3+
displayName: Windows 2019 Image Version
44
type: string
55
default: windows-2019
6-
- name: linux_image
6+
- name: img_windows_2022
7+
displayName: Windows 2022 Image Version
8+
type: string
9+
default: windows-2022
10+
- name: img_linux
711
displayName: Linux Image Version
812
type: string
913
default: ubuntu-20.04
10-
- name: macOS_image
14+
- name: img_macos
1115
displayName: MacOS Image Version
1216
type: string
1317
default: macOS-11
@@ -18,15 +22,19 @@ parameters:
1822
- name: ps_7_0_x
1923
displayName: PowerShell 7.0.x Version
2024
type: string
21-
default: 7.0.13
25+
default: 7.0.*
2226
- name: ps_7_1_x
2327
displayName: PowerShell 7.1.x Version
2428
type: string
25-
default: 7.1.7
29+
default: 7.1.*
2630
- name: ps_7_2_x
2731
displayName: PowerShell 7.2.x Version
2832
type: string
29-
default: 7.2.7
33+
default: 7.2.*
34+
- name: ps_7_3_x
35+
displayName: PowerShell 7.3.x Version
36+
type: string
37+
default: 7.3.*
3038
- name: ps_latest
3139
displayName: PowerShell Latest Version
3240
type: string
@@ -41,88 +49,161 @@ parameters:
4149
default: 7.0.x
4250

4351
variables:
44-
LiveTestArtifactsName: LiveTestArtifacts
45-
LiveTestDataLocation: $(Pipeline.Workspace)/$(LiveTestArtifactsName)
46-
EnableTestCoverage: true
47-
TestCoverageLocation: $(LiveTestDataLocation)
52+
ArtifactsName: LiveTestArtifacts
53+
DataLocation: $(Pipeline.Workspace)/$(ArtifactsName)
54+
55+
schedules:
56+
- cron: "0 19 * * *"
57+
displayName: Daily Live Test
58+
branches:
59+
include:
60+
- main
61+
always: true
4862

4963
pr: none
5064
trigger: none
5165

5266
jobs:
5367
- template: util/live-test-steps.yml
5468
parameters:
55-
name: 'win_ps_5_1'
56-
vmImage: ${{ parameters.win_image }}
69+
name: 'win_ps_5_1_win_2019'
70+
vmImage: ${{ parameters.img_windows_2019 }}
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: 'win_ps_5_1_win_2022'
78+
vmImage: ${{ parameters.img_windows_2022 }}
79+
osType: 'Windows'
5780
psVersion: ${{ parameters.win_ps_5_1 }}
5881
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
5982

6083
- template: util/live-test-steps.yml
6184
parameters:
62-
name: 'ps_7_0_x_win'
63-
vmImage: ${{ parameters.win_image }}
85+
name: 'ps_7_0_x_win_2019'
86+
vmImage: ${{ parameters.img_windows_2019 }}
87+
osType: 'Windows'
6488
psVersion: ${{ parameters.ps_7_0_x }}
6589
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
6690

6791
- template: util/live-test-steps.yml
6892
parameters:
69-
name: 'ps_7_1_x_win'
70-
vmImage: ${{ parameters.win_image }}
93+
name: 'ps_7_1_x_win_2019'
94+
vmImage: ${{ parameters.img_windows_2019 }}
95+
osType: 'Windows'
7196
psVersion: ${{ parameters.ps_7_1_x }}
7297
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
7398

7499
- template: util/live-test-steps.yml
75100
parameters:
76-
name: 'ps_7_2_x_win'
77-
vmImage: ${{ parameters.win_image }}
101+
name: 'ps_7_2_x_win_2019'
102+
vmImage: ${{ parameters.img_windows_2019 }}
103+
osType: 'Windows'
78104
psVersion: ${{ parameters.ps_7_2_x }}
79105
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
80106

81107
- template: util/live-test-steps.yml
82108
parameters:
83-
name: 'ps_latest_win'
84-
vmImage: ${{ parameters.win_image }}
85-
psVersion: ${{ parameters.ps_latest }}
109+
name: 'ps_7_3_x_win_2019'
110+
vmImage: ${{ parameters.img_windows_2019 }}
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_7_0_x_win_2022'
118+
vmImage: ${{ parameters.img_windows_2022 }}
119+
osType: 'Windows'
120+
psVersion: ${{ parameters.ps_7_0_x }}
121+
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
122+
123+
- template: util/live-test-steps.yml
124+
parameters:
125+
name: 'ps_7_1_x_win_2022'
126+
vmImage: ${{ parameters.img_windows_2022 }}
127+
osType: 'Windows'
128+
psVersion: ${{ parameters.ps_7_1_x }}
129+
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
130+
131+
- template: util/live-test-steps.yml
132+
parameters:
133+
name: 'ps_7_2_x_win_2022'
134+
vmImage: ${{ parameters.img_windows_2022 }}
135+
osType: 'Windows'
136+
psVersion: ${{ parameters.ps_7_2_x }}
137+
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
138+
139+
- template: util/live-test-steps.yml
140+
parameters:
141+
name: 'ps_7_3_x_win_2022'
142+
vmImage: ${{ parameters.img_windows_2022 }}
143+
osType: 'Windows'
144+
psVersion: ${{ parameters.ps_7_3_x }}
86145
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
87146

88147
- template: util/live-test-steps.yml
89148
parameters:
90149
name: 'ps_7_0_x_linux'
91-
vmImage: ${{ parameters.linux_image }}
150+
vmImage: ${{ parameters.img_linux }}
151+
osType: 'Linux'
92152
psVersion: ${{ parameters.ps_7_0_x }}
93153
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
94154

95155
- template: util/live-test-steps.yml
96156
parameters:
97157
name: 'ps_7_1_x_linux'
98-
vmImage: ${{ parameters.linux_image }}
158+
vmImage: ${{ parameters.img_linux }}
159+
osType: 'Linux'
99160
psVersion: ${{ parameters.ps_7_1_x }}
100161
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
101162

102163
- template: util/live-test-steps.yml
103164
parameters:
104165
name: 'ps_7_2_x_linux'
105-
vmImage: ${{ parameters.linux_image }}
166+
vmImage: ${{ parameters.img_linux }}
167+
osType: 'Linux'
106168
psVersion: ${{ parameters.ps_7_2_x }}
107169
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
108170

109171
- template: util/live-test-steps.yml
110172
parameters:
111-
name: 'ps_latest_linux'
112-
vmImage: ${{ parameters.linux_image }}
113-
psVersion: ${{ parameters.ps_latest }}
173+
name: 'ps_7_3_x_linux'
174+
vmImage: ${{ parameters.img_linux }}
175+
osType: 'Linux'
176+
psVersion: ${{ parameters.ps_7_3_x }}
114177
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}
115178

179+
- template: util/live-test-steps.yml
180+
parameters:
181+
name: 'ps_7_0_x_macOS'
182+
vmImage: ${{ parameters.img_macos }}
183+
osType: 'MacOS'
184+
psVersion: ${{ parameters.ps_7_0_x }}
185+
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
186+
187+
- template: util/live-test-steps.yml
188+
parameters:
189+
name: 'ps_7_1_x_macOS'
190+
vmImage: ${{ parameters.img_macos }}
191+
osType: 'MacOS'
192+
psVersion: ${{ parameters.ps_7_1_x }}
193+
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
194+
116195
- template: util/live-test-steps.yml
117196
parameters:
118197
name: 'ps_7_2_x_macOS'
119-
vmImage: ${{ parameters.macOS_image }}
198+
vmImage: ${{ parameters.img_macos }}
199+
osType: 'MacOS'
120200
psVersion: ${{ parameters.ps_7_2_x }}
121201
dotnetVersion: ${{ parameters.dotnet_sdk_6 }}
122202

123203
- template: util/live-test-steps.yml
124204
parameters:
125-
name: 'ps_latest_macOS'
126-
vmImage: ${{ parameters.macOS_image }}
127-
psVersion: ${{ parameters.ps_latest }}
205+
name: 'ps_7_3_x_macOS'
206+
vmImage: ${{ parameters.img_macos }}
207+
osType: 'MacOS'
208+
psVersion: ${{ parameters.ps_7_3_x }}
128209
dotnetVersion: ${{ parameters.dotnet_sdk_7 }}

.azure-pipelines/test-coverage.yml

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
parameters:
2+
- name: windowsImage
3+
displayName: Windows Image
4+
type: string
5+
default: windows-2019
6+
- name: dotnet_sdk_3_1
7+
displayName: .NET Core 3.1
8+
default: 3.1.x
9+
- name: dotnet_sdk_6
10+
displayName: .NET 6
11+
type: string
12+
default: 6.0.x
13+
- name: dotnet_sdk_7
14+
displayName: .NET 7
15+
type: string
16+
default: 7.0.x
17+
- name: testFramework
18+
displayName: Test Framework
19+
type: string
20+
default: netcoreapp3.1
21+
22+
variables:
23+
EnableTestCoverage: true
24+
TestCoverageLocation: $(Pipeline.Workspace)/artifacts
25+
26+
pr: none
27+
trigger: none
28+
29+
jobs:
30+
- job: TestCoverage
31+
timeoutInMinutes: 600
32+
pool:
33+
vmImage: ${{ parameters.windowsImage }}
34+
35+
steps:
36+
- task: UseDotNet@2
37+
displayName: 'Install .NET Core 3.1 SDK'
38+
inputs:
39+
packageType: sdk
40+
version: ${{ parameters.dotnet_sdk_3_1 }}
41+
42+
- task: PowerShell@2
43+
displayName: Initialize Environment
44+
inputs:
45+
pwsh: true
46+
targetType: filePath
47+
filePath: ./tools/TestFx/Utilities/CommonUtility.ps1
48+
49+
- task: DotNetCoreCLI@2
50+
displayName: Build Azure PowerShell Solution
51+
inputs:
52+
command: custom
53+
custom: msbuild
54+
arguments: 'build.proj -t:"Clean;Build" -p:"Configuration=Debug"'
55+
56+
- task: DotNetCoreCLI@2
57+
displayName: Test SDK-Based Cmdlets
58+
condition: succeeded()
59+
inputs:
60+
command: custom
61+
custom: msbuild
62+
arguments: 'build.proj -t:"Test" -p:"Configuration=Debug;TestFramework=${{ parameters.testFramework }}"'
63+
64+
- task: PowerShell@2
65+
displayName: Test AutoRest-Based Cmdlets
66+
condition: succeeded()
67+
inputs:
68+
pwsh: true
69+
workingDirectory: 'artifacts/Debug'
70+
targetType: inline
71+
script: |
72+
Install-Module -Name Pester -RequiredVersion 4.10.1 -Force
73+
Import-Module (Join-Path -Path . -ChildPath Az.Accounts | Join-Path -ChildPath Az.Accounts.psd1) -Force
74+
75+
$PreErrorActionPreference = $ErrorActionPreference
76+
$ErrorActionPreference = "SilentlyContinue"
77+
78+
Get-ChildItem -Path . -Filter test-module.ps1 -File -Recurse | ForEach-Object {
79+
try {
80+
. $_ -Isolated
81+
}
82+
catch {
83+
Write-Host $_.Exception
84+
}
85+
}
86+
87+
$ErrorActionPreference = $PreErrorActionPreference
88+
89+
- task: PowerShell@2
90+
displayName: Analyze Test Coverage
91+
condition: succeeded()
92+
inputs:
93+
pwsh: true
94+
targetType: filePath
95+
filePath: ./tools/TestFx/Coverage/AnalyzeTestCoverage.ps1
96+
arguments: -CalcBaseline
97+
98+
- task: PowerShell@2
99+
displayName: Save Test Coverage Results
100+
condition: succeeded()
101+
inputs:
102+
pwsh: true
103+
targetType: filePath
104+
filePath: ./tools/TestFx/Coverage/SaveTestCoverageResult.ps1
105+
arguments: CITest $(Build.BuildId) $(KustoServicePrincipalTenantId) $(KustoServicePrincipalId) $(KustoServicePrincipalSecret) $(KustoClusterName) $(KustoClusterRegion) $(TestCoverageDatabaseName) $(TestCoverageTableName) $(TestCoverageLocation)
106+
107+
- task: PowerShell@2
108+
displayName: Update Test Coverage Baseline
109+
condition: succeeded()
110+
inputs:
111+
pwsh: true
112+
targetType: inline
113+
script: |
114+
$blDir = "./tools/TestFx/Coverage"
115+
$blCsv = Join-Path -Path $blDir -ChildPath "Baseline.csv"
116+
if (Test-Path -Path $blCsv) {
117+
Remove-Item -Path $blCsv -Force
118+
}
119+
120+
git checkout -b testcoverage-baseline
121+
Copy-Item -Path "$(Pipeline.Workspace)/artifacts/TestCoverageAnalysis/Results/Baseline.csv" -Destination $blDir
122+
git config user.email "[email protected]"
123+
git config user.name "azure-powershell-bot"
124+
git add $blCsv
125+
git commit -m "Update with the latest test coverage data"
126+
git remote set-url origin https://azure-powershell-bot:$(BotAccessToken)@github.com/Azure/azure-powershell.git
127+
git push origin testcoverage-baseline --force
128+
129+
$title = "Update test coverage baseline"
130+
$headBranch = "testcoverage-baseline"
131+
$targetBranch = "main"
132+
$description = "Update with the latest test coverage baseline data"
133+
./tools/Github/CreatePR.ps1 -Title $title -HeadBranch $headBranch -BaseBranch $targetBranch -BotAccessToken $(BotAccessToken) -Description $description
134+
135+
- task: PublishPipelineArtifact@1
136+
displayName: Publish Test Coverage Result
137+
condition: always()
138+
inputs:
139+
artifact: testcoverage
140+
targetPath: $(TestCoverageLocation)

0 commit comments

Comments
 (0)