Skip to content

Commit

Permalink
[Perf] Extend from perf.yml under eng/common (Azure#25223)
Browse files Browse the repository at this point in the history
- Convert parameter names from camelCase to PascalCase to follow convention
  • Loading branch information
mikeharder authored Jul 16, 2022
1 parent 8535cf2 commit a15d3c3
Show file tree
Hide file tree
Showing 4 changed files with 123 additions and 187 deletions.
148 changes: 42 additions & 106 deletions eng/pipelines/templates/jobs/perf.yml
Original file line number Diff line number Diff line change
@@ -1,111 +1,47 @@
parameters:
- name: serviceDirectory
type: string
default: ''
- name: services
type: string
default: ''
- name: packageVersions
type: string
default: '.*'
- name: tests
type: string
default: ''
- name: arguments
type: string
default: ''
- name: iterations
type: number
default: '5'
- name: envVars
type: object
default: {}
- name: additionalArguments
type: string
default: ''

variables:
- template: /eng/pipelines/templates/variables/globals.yml
- name: Pool
value: 'azsdk-pool-mms-ubuntu-2004-perf'
- name: OSVmImage
value: 'MMSUbuntu20.04'
- name: PythonVersion
value: '3.7'

resources:
repositories:
- repository: azure-sdk-tools
type: github
endpoint: Azure
name: Azure/azure-sdk-tools

jobs:
- job: Perf
timeoutInMinutes: 360
pool:
name: $(Pool)
vmImage: $(OSVmImage)
steps:
- checkout: self
path: s

- checkout: azure-sdk-tools
path: s/azure-sdk-tools

- template: /eng/common/pipelines/templates/steps/verify-agent-os.yml
parameters:
AgentImage: $(OSVmImage)

- name: ServiceDirectory
type: string
default: ''
- name: Services
type: string
default: ''
- name: PackageVersions
type: string
default: '.*'
- name: Tests
type: string
default: '.*'
- name: Arguments
type: string
default: '.*'
- name: Iterations
type: number
default: '5'
- name: AdditionalArguments
type: string
default: ''
- name: EnvVars
type: object
default: {}

extends:
template: /eng/common/pipelines/templates/jobs/perf.yml
parameters:
Variables:
- template: /eng/pipelines/templates/variables/globals.yml
- name: PythonVersion
value: '3.7'
Language: Python
InstallLanguageSteps:
- task: UsePythonVersion@0
displayName: "Use Python $(PythonVersion)"
inputs:
versionSpec: $(PythonVersion)

- template: /eng/common/TestResources/deploy-test-resources.yml
parameters:
ServiceDirectory: ${{ parameters.serviceDirectory }}
Location: westus
ResourceType: perf

- pwsh: |
set-content -path config.yml -value "WorkingDirectories:"
add-content -path config.yml -value " Python: $(Agent.BuildDirectory)/s"
workingDirectory: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation
displayName: Create config.yml
- script: >-
dotnet run -- run
--no-sync
--languages python
--services "${{ parameters.services }}"
--package-versions "${{ parameters.packageVersions }}"
--tests "${{ parameters.tests }}"
--arguments "${{ parameters.arguments }}"
--iterations ${{ parameters.iterations }}
${{ parameters.additionalArguments }}
workingDirectory: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation
env:
${{ each var in parameters.EnvVars }}:
${{ var.key }}: ${{ var.value }}
displayName: Run perf tests
- pwsh: |
get-content results.csv
workingDirectory: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation/results
displayName: Print results.csv
- pwsh: |
get-content results.json
workingDirectory: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation/results
displayName: Print results.json
- template: /eng/common/TestResources/remove-test-resources.yml
parameters:
ServiceDirectory: ${{ parameters.serviceDirectory }}
ResourceType: perf

- task: PublishPipelineArtifact@1
inputs:
targetPath: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation/results
artifactName: results
ServiceDirectory: ${{ parameters.ServiceDirectory }}
Services: ${{ parameters.Services }}
PackageVersions: ${{ parameters.PackageVersions }}
Tests: ${{ parameters.Tests }}
Arguments: ${{ parameters.Arguments }}
Iterations: ${{ parameters.Iterations }}
AdditionalArguments: ${{ parameters.AdditionalArguments }}
EnvVars: ${{ parameters.EnvVars}}
54 changes: 27 additions & 27 deletions sdk/storage/azure-storage-blob/perf.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
parameters:
- name: packageVersions
displayName: PackageVersions (regex of package versions to run)
type: string
default: '12|source'
- name: tests
displayName: Tests (regex of tests to run)
type: string
default: '^(download|upload|list-blobs)$'
- name: arguments
displayName: Arguments (regex of arguments to run)
type: string
default: '(10240)|(10485760)|(1073741824)|(5 )|(500 )|(50000 )'
- name: iterations
displayName: Iterations (times to run each test)
type: number
default: '5'
- name: additionalArguments
displayName: AdditionalArguments (passed to PerfAutomation)
type: string
default: ' '
- name: PackageVersions
displayName: PackageVersions (regex of package versions to run)
type: string
default: '12|source'
- name: Tests
displayName: Tests (regex of tests to run)
type: string
default: '^(download|upload|list-blobs)$'
- name: Arguments
displayName: Arguments (regex of arguments to run)
type: string
default: '(10240)|(10485760)|(1073741824)|(5 )|(500 )|(50000 )'
- name: Iterations
displayName: Iterations (times to run each test)
type: number
default: '5'
- name: AdditionalArguments
displayName: AdditionalArguments (passed to PerfAutomation)
type: string
default: ' '

extends:
template: /eng/pipelines/templates/jobs/perf.yml
parameters:
serviceDirectory: storage/azure-storage-blob
services: "^storage-blob$"
packageVersions: ${{ parameters.packageVersions }}
tests: ${{ parameters.tests }}
arguments: ${{ parameters.arguments }}
iterations: ${{ parameters.iterations }}
additionalArguments: ${{ parameters.additionalArguments }}
ServiceDirectory: storage/azure-storage-blob
Services: "^storage-blob$"
PackageVersions: ${{ parameters.PackageVersions }}
Tests: ${{ parameters.Tests }}
Arguments: ${{ parameters.Arguments }}
Iterations: ${{ parameters.Iterations }}
AdditionalArguments: ${{ parameters.AdditionalArguments }}
54 changes: 27 additions & 27 deletions sdk/storage/azure-storage-file-datalake/perf.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
parameters:
- name: packageVersions
displayName: PackageVersions (regex of package versions to run)
type: string
default: '12|source'
- name: tests
displayName: Tests (regex of tests to run)
type: string
default: '^(download|upload)$'
- name: arguments
displayName: Arguments (regex of arguments to run)
type: string
default: '(10240)|(10485760)|(1073741824)'
- name: iterations
displayName: Iterations (times to run each test)
type: number
default: '5'
- name: additionalArguments
displayName: AdditionalArguments (passed to PerfAutomation)
type: string
default: ' '
- name: PackageVersions
displayName: PackageVersions (regex of package versions to run)
type: string
default: '12|source'
- name: Tests
displayName: Tests (regex of tests to run)
type: string
default: '^(download|upload)$'
- name: Arguments
displayName: Arguments (regex of arguments to run)
type: string
default: '(10240)|(10485760)|(1073741824)'
- name: Iterations
displayName: Iterations (times to run each test)
type: number
default: '5'
- name: AdditionalArguments
displayName: AdditionalArguments (passed to PerfAutomation)
type: string
default: ' '

extends:
template: /eng/pipelines/templates/jobs/perf.yml
parameters:
serviceDirectory: storage/azure-storage-file-datalake
services: "^storage-file-datalake$"
packageVersions: ${{ parameters.packageVersions }}
tests: ${{ parameters.tests }}
arguments: ${{ parameters.arguments }}
iterations: ${{ parameters.iterations }}
additionalArguments: ${{ parameters.additionalArguments }}
ServiceDirectory: storage/azure-storage-file-datalake
Services: "^storage-file-datalake$"
PackageVersions: ${{ parameters.PackageVersions }}
Tests: ${{ parameters.Tests }}
Arguments: ${{ parameters.Arguments }}
Iterations: ${{ parameters.Iterations }}
AdditionalArguments: ${{ parameters.AdditionalArguments }}
54 changes: 27 additions & 27 deletions sdk/storage/azure-storage-file-share/perf.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
parameters:
- name: packageVersions
displayName: PackageVersions (regex of package versions to run)
type: string
default: '12|source'
- name: tests
displayName: Tests (regex of tests to run)
type: string
default: '^(download|upload)$'
- name: arguments
displayName: Arguments (regex of arguments to run)
type: string
default: '(10240)|(10485760)|(1073741824)'
- name: iterations
displayName: Iterations (times to run each test)
type: number
default: '5'
- name: additionalArguments
displayName: AdditionalArguments (passed to PerfAutomation)
type: string
default: ' '
- name: PackageVersions
displayName: PackageVersions (regex of package versions to run)
type: string
default: '12|source'
- name: Tests
displayName: Tests (regex of tests to run)
type: string
default: '^(download|upload)$'
- name: Arguments
displayName: Arguments (regex of arguments to run)
type: string
default: '(10240)|(10485760)|(1073741824)'
- name: Iterations
displayName: Iterations (times to run each test)
type: number
default: '5'
- name: AdditionalArguments
displayName: AdditionalArguments (passed to PerfAutomation)
type: string
default: ' '

extends:
template: /eng/pipelines/templates/jobs/perf.yml
parameters:
serviceDirectory: storage/azure-storage-file-share
services: "^storage-file-share$"
packageVersions: ${{ parameters.packageVersions }}
tests: ${{ parameters.tests }}
arguments: ${{ parameters.arguments }}
iterations: ${{ parameters.iterations }}
additionalArguments: ${{ parameters.additionalArguments }}
ServiceDirectory: storage/azure-storage-file-share
Services: "^storage-file-share$"
PackageVersions: ${{ parameters.PackageVersions }}
Tests: ${{ parameters.Tests }}
Arguments: ${{ parameters.Arguments }}
Iterations: ${{ parameters.Iterations }}
AdditionalArguments: ${{ parameters.AdditionalArguments }}

0 comments on commit a15d3c3

Please sign in to comment.