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

[Perf] Extend from perf.yml under eng/common #29975

Merged
merged 4 commits into from
Jul 15, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
145 changes: 40 additions & 105 deletions eng/pipelines/templates/jobs/perf.yml
Original file line number Diff line number Diff line change
@@ -1,116 +1,51 @@
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'

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
Language: Java
InstallLanguageSteps:
- task: JavaToolInstaller@0
inputs:
versionSpec: '8'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'
displayName: Install Java 8

- script: |
java -version
mvn --version
displayName: Print Java Versions

- 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 " Java: $(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 java
--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/core/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: '1|source'
- name: tests
displayName: Tests (regex of tests to run)
type: string
default: '^(jsonsend)|(jsonreceive)|(xmlsend)|(xmlreceive)|(binarydatasend)|(binarydatareceive)$'
- name: arguments
displayName: Arguments (regex of arguments to run)
type: string
default: '.*'
- 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: '1|source'
- name: Tests
displayName: Tests (regex of tests to run)
type: string
default: '^(jsonsend)|(jsonreceive)|(xmlsend)|(xmlreceive)|(binarydatasend)|(binarydatareceive)$'
- name: Arguments
displayName: Arguments (regex of arguments to run)
type: string
default: '.*'
- 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: core
services: "^core$"
packageVersions: ${{ parameters.packageVersions }}
tests: ${{ parameters.tests }}
arguments: ${{ parameters.arguments }}
iterations: ${{ parameters.iterations }}
additionalArguments: ${{ parameters.additionalArguments }}
ServiceDirectory: core
Services: "^core$"
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-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 }}