Skip to content

Commit 24bfe20

Browse files
authored
[Perf] Extend from perf.yml under eng/common (Azure#22590)
- Convert parameter names from camelCase to PascalCase to follow convention
1 parent ac6164a commit 24bfe20

File tree

4 files changed

+144
-216
lines changed

4 files changed

+144
-216
lines changed
Lines changed: 44 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -1,120 +1,48 @@
11
parameters:
2-
- name: operatingSystems
3-
type: string
4-
default: ''
5-
- name: serviceDirectory
6-
type: string
7-
default: ''
8-
- name: services
9-
type: string
10-
default: ''
11-
- name: packageVersions
12-
type: string
13-
default: '.*'
14-
- name: tests
15-
type: string
16-
default: ''
17-
- name: arguments
18-
type: string
19-
default: ''
20-
- name: iterations
21-
type: number
22-
default: '5'
23-
- name: envVars
24-
type: object
25-
default: {}
26-
- name: additionalArguments
27-
type: string
28-
default: ''
29-
30-
variables:
31-
- template: /eng/pipelines/templates/variables/globals.yml
32-
33-
resources:
34-
repositories:
35-
- repository: azure-sdk-tools
36-
type: github
37-
endpoint: Azure
38-
name: Azure/azure-sdk-tools
39-
ref: main
40-
41-
jobs:
42-
- job: Perf
43-
timeoutInMinutes: 360
44-
strategy:
45-
matrix:
46-
${{ if contains(parameters.operatingSystems, 'Linux') }}:
47-
Linux:
48-
Pool: 'azsdk-pool-mms-ubuntu-2004-perf'
49-
OsVmImage: 'MMSUbuntu20.04'
50-
MatrixName: 'Linux'
51-
${{ if contains(parameters.operatingSystems, 'Windows') }}:
52-
Windows:
53-
Pool: 'azsdk-pool-mms-win-2019-perf'
54-
OsVmImage: 'MMS2019'
55-
MatrixName: 'Windows'
56-
pool:
57-
name: $(Pool)
58-
vmImage: $(OSVmImage)
59-
steps:
60-
- checkout: self
61-
path: s
62-
63-
- checkout: azure-sdk-tools
64-
path: s/azure-sdk-tools
65-
66-
- template: /eng/common/pipelines/templates/steps/verify-agent-os.yml
67-
parameters:
68-
AgentImage: $(OSVmImage)
69-
2+
- name: OperatingSystems
3+
type: string
4+
default: 'Linux'
5+
- name: ServiceDirectory
6+
type: string
7+
default: ''
8+
- name: Services
9+
type: string
10+
default: ''
11+
- name: PackageVersions
12+
type: string
13+
default: '.*'
14+
- name: Tests
15+
type: string
16+
default: '.*'
17+
- name: Arguments
18+
type: string
19+
default: '.*'
20+
- name: Iterations
21+
type: number
22+
default: '5'
23+
- name: AdditionalArguments
24+
type: string
25+
default: ''
26+
- name: EnvVars
27+
type: object
28+
default: {}
29+
30+
extends:
31+
template: /eng/common/pipelines/templates/jobs/perf.yml
32+
parameters:
33+
Variables:
34+
- template: /eng/pipelines/templates/variables/globals.yml
35+
OperatingSystems: ${{ parameters.OperatingSystems }}
36+
Language: JS
37+
InstallLanguageSteps:
7038
- template: /eng/pipelines/templates/steps/use-node-version.yml
7139
parameters:
7240
NodeVersion: 14.x
73-
74-
- template: /eng/common/TestResources/deploy-test-resources.yml
75-
parameters:
76-
ServiceDirectory: ${{ parameters.serviceDirectory }}
77-
Location: westus
78-
ResourceType: perf
79-
80-
- pwsh: |
81-
set-content -path config.yml -value "WorkingDirectories:"
82-
add-content -path config.yml -value " JS: $(Agent.BuildDirectory)/s"
83-
workingDirectory: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation
84-
displayName: Create config.yml
85-
86-
- script: >-
87-
dotnet run -- run
88-
--no-sync
89-
--languages js
90-
--services "${{ parameters.services }}"
91-
--package-versions "${{ parameters.packageVersions }}"
92-
--tests "${{ parameters.tests }}"
93-
--arguments "${{ parameters.arguments }}"
94-
--iterations ${{ parameters.iterations }}
95-
${{ parameters.additionalArguments }}
96-
workingDirectory: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation
97-
env:
98-
${{ each var in parameters.EnvVars }}:
99-
${{ var.key }}: ${{ var.value }}
100-
displayName: Run perf tests
101-
102-
- pwsh: |
103-
get-content results.csv
104-
workingDirectory: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation/results
105-
displayName: Print results.csv
106-
107-
- pwsh: |
108-
get-content results.json
109-
workingDirectory: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation/results
110-
displayName: Print results.json
111-
112-
- template: /eng/common/TestResources/remove-test-resources.yml
113-
parameters:
114-
ServiceDirectory: ${{ parameters.serviceDirectory }}
115-
ResourceType: perf
116-
117-
- task: PublishPipelineArtifact@1
118-
inputs:
119-
targetPath: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation/results
120-
artifactName: results-$(MatrixName)
41+
ServiceDirectory: ${{ parameters.ServiceDirectory }}
42+
Services: ${{ parameters.Services }}
43+
PackageVersions: ${{ parameters.PackageVersions }}
44+
Tests: ${{ parameters.Tests }}
45+
Arguments: ${{ parameters.Arguments }}
46+
Iterations: ${{ parameters.Iterations }}
47+
AdditionalArguments: ${{ parameters.additionalArguments }}
48+
EnvVars: ${{ parameters.EnvVars}}

sdk/storage/storage-blob/perf.yml

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
11
parameters:
2-
- name: operatingSystems
3-
displayName: OperatingSystems (list of operating systems to run)
4-
type: string
5-
# Hang in storage-blob 1GB parallel=8 upload perf tests on Windows (#22146)
6-
# default: 'Linux, Windows'
7-
default: 'Linux'
8-
- name: packageVersions
9-
displayName: PackageVersions (regex of package versions to run)
10-
type: string
11-
default: '12|source'
12-
- name: tests
13-
displayName: Tests (regex of tests to run)
14-
type: string
15-
default: '^(download|upload|list-blobs)$'
16-
- name: arguments
17-
displayName: Arguments (regex of arguments to run)
18-
type: string
19-
default: '(10240)|(10485760)|(1073741824)|(5 )|(500 )|(50000 )'
20-
- name: iterations
21-
displayName: Iterations (times to run each test)
22-
type: number
23-
default: '5'
24-
- name: additionalArguments
25-
displayName: AdditionalArguments (passed to PerfAutomation)
26-
type: string
27-
default: ' '
2+
- name: OperatingSystems
3+
displayName: OperatingSystems (list of operating systems to run)
4+
type: string
5+
# Hang in storage-blob 1GB parallel=8 upload perf tests on Windows (#22146)
6+
# default: 'Linux, Windows'
7+
default: 'Linux'
8+
- name: PackageVersions
9+
displayName: PackageVersions (regex of package versions to run)
10+
type: string
11+
default: '12|source'
12+
- name: Tests
13+
displayName: Tests (regex of tests to run)
14+
type: string
15+
default: '^(download|upload|list-blobs)$'
16+
- name: Arguments
17+
displayName: Arguments (regex of arguments to run)
18+
type: string
19+
default: '(10240)|(10485760)|(1073741824)|(5 )|(500 )|(50000 )'
20+
- name: Iterations
21+
displayName: Iterations (times to run each test)
22+
type: number
23+
default: '5'
24+
- name: AdditionalArguments
25+
displayName: AdditionalArguments (passed to PerfAutomation)
26+
type: string
27+
default: ' '
2828

2929
extends:
3030
template: /eng/pipelines/templates/jobs/perf.yml
3131
parameters:
32-
operatingSystems: ${{ parameters.operatingSystems }}
33-
serviceDirectory: storage/storage-blob
34-
services: "^storage-blob$"
35-
packageVersions: ${{ parameters.packageVersions }}
36-
tests: ${{ parameters.tests }}
37-
arguments: ${{ parameters.arguments }}
38-
iterations: ${{ parameters.iterations }}
39-
additionalArguments: ${{ parameters.additionalArguments }}
32+
OperatingSystems: ${{ parameters.OperatingSystems }}
33+
ServiceDirectory: storage/storage-blob
34+
Services: "^storage-blob$"
35+
PackageVersions: ${{ parameters.PackageVersions }}
36+
Tests: ${{ parameters.Tests }}
37+
Arguments: ${{ parameters.Arguments }}
38+
Iterations: ${{ parameters.Iterations }}
39+
AdditionalArguments: ${{ parameters.AdditionalArguments }}
Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,37 @@
11
parameters:
2-
- name: operatingSystems
3-
displayName: OperatingSystems (list of operating systems to run)
4-
type: string
5-
default: 'Linux, Windows'
6-
- name: packageVersions
7-
displayName: PackageVersions (regex of package versions to run)
8-
type: string
9-
default: '12|source'
10-
- name: tests
11-
displayName: Tests (regex of tests to run)
12-
type: string
13-
default: '^(download|upload)$'
14-
- name: arguments
15-
displayName: Arguments (regex of arguments to run)
16-
type: string
17-
default: '(10240)|(10485760)|(1073741824)'
18-
- name: iterations
19-
displayName: Iterations (times to run each test)
20-
type: number
21-
default: '5'
22-
- name: additionalArguments
23-
displayName: AdditionalArguments (passed to PerfAutomation)
24-
type: string
25-
default: ' '
2+
- name: OperatingSystems
3+
displayName: OperatingSystems (list of operating systems to run)
4+
type: string
5+
default: 'Linux, Windows'
6+
- name: PackageVersions
7+
displayName: PackageVersions (regex of package versions to run)
8+
type: string
9+
default: '12|source'
10+
- name: Tests
11+
displayName: Tests (regex of tests to run)
12+
type: string
13+
default: '^(download|upload)$'
14+
- name: Arguments
15+
displayName: Arguments (regex of arguments to run)
16+
type: string
17+
default: '(10240)|(10485760)|(1073741824)'
18+
- name: Iterations
19+
displayName: Iterations (times to run each test)
20+
type: number
21+
default: '5'
22+
- name: AdditionalArguments
23+
displayName: AdditionalArguments (passed to PerfAutomation)
24+
type: string
25+
default: ' '
2626

2727
extends:
2828
template: /eng/pipelines/templates/jobs/perf.yml
2929
parameters:
30-
operatingSystems: ${{ parameters.operatingSystems }}
31-
serviceDirectory: storage/storage-file-datalake
32-
services: "^storage-file-datalake$"
33-
packageVersions: ${{ parameters.packageVersions }}
34-
tests: ${{ parameters.tests }}
35-
arguments: ${{ parameters.arguments }}
36-
iterations: ${{ parameters.iterations }}
37-
additionalArguments: ${{ parameters.additionalArguments }}
30+
OperatingSystems: ${{ parameters.OperatingSystems }}
31+
ServiceDirectory: storage/storage-file-datalake
32+
Services: "^storage-file-datalake$"
33+
PackageVersions: ${{ parameters.PackageVersions }}
34+
Tests: ${{ parameters.Tests }}
35+
Arguments: ${{ parameters.Arguments }}
36+
Iterations: ${{ parameters.Iterations }}
37+
AdditionalArguments: ${{ parameters.AdditionalArguments }}
Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
11
parameters:
2-
- name: operatingSystems
3-
displayName: OperatingSystems (list of operating systems to run)
4-
type: string
5-
default: 'Linux, Windows'
6-
- name: packageVersions
7-
displayName: PackageVersions (regex of package versions to run)
8-
type: string
9-
default: '12|source'
10-
- name: tests
11-
displayName: Tests (regex of tests to run)
12-
type: string
13-
default: '^(download|upload)$'
14-
- name: arguments
15-
displayName: Arguments (regex of arguments to run)
16-
type: string
17-
# Hang in 10MB and 1GB tests (#22141)
18-
# default: '(10240)|(10485760)|(1073741824)'
19-
default: '(10240)'
20-
- name: iterations
21-
displayName: Iterations (times to run each test)
22-
type: number
23-
default: '5'
24-
- name: additionalArguments
25-
displayName: AdditionalArguments (passed to PerfAutomation)
26-
type: string
27-
default: ' '
2+
- name: OperatingSystems
3+
displayName: OperatingSystems (list of operating systems to run)
4+
type: string
5+
default: 'Linux, Windows'
6+
- name: PackageVersions
7+
displayName: PackageVersions (regex of package versions to run)
8+
type: string
9+
default: '12|source'
10+
- name: Tests
11+
displayName: Tests (regex of tests to run)
12+
type: string
13+
default: '^(download|upload)$'
14+
- name: Arguments
15+
displayName: Arguments (regex of arguments to run)
16+
type: string
17+
# Hang in 10MB and 1GB tests (#22141)
18+
# default: '(10240)|(10485760)|(1073741824)'
19+
default: '(10240)'
20+
- name: Iterations
21+
displayName: Iterations (times to run each test)
22+
type: number
23+
default: '5'
24+
- name: AdditionalArguments
25+
displayName: AdditionalArguments (passed to PerfAutomation)
26+
type: string
27+
default: ' '
2828

2929
extends:
3030
template: /eng/pipelines/templates/jobs/perf.yml
3131
parameters:
32-
operatingSystems: ${{ parameters.operatingSystems }}
33-
serviceDirectory: storage/storage-file-share
34-
services: "^storage-file-share$"
35-
packageVersions: ${{ parameters.packageVersions }}
36-
tests: ${{ parameters.tests }}
37-
arguments: ${{ parameters.arguments }}
38-
iterations: ${{ parameters.iterations }}
39-
additionalArguments: ${{ parameters.additionalArguments }}
32+
OperatingSystems: ${{ parameters.OperatingSystems }}
33+
ServiceDirectory: storage/storage-file-share
34+
Services: "^storage-file-share$"
35+
PackageVersions: ${{ parameters.PackageVersions }}
36+
Tests: ${{ parameters.Tests }}
37+
Arguments: ${{ parameters.Arguments }}
38+
Iterations: ${{ parameters.Iterations }}
39+
AdditionalArguments: ${{ parameters.AdditionalArguments }}

0 commit comments

Comments
 (0)