Skip to content

Commit c7b3b3f

Browse files
Sync eng/common directory with azure-sdk-tools for PR 3874 (Azure#18955)
* Add sparse checkout to perf template * Rename base template, add parameters * Add comment * Add TODO * Fix copy/pase bug, add language to artifacts path * Fix language ref * Fix python language * perf.yml extends perf-base.yml * Remove unnecessary base yml * Fetch pull request refs * Fix refs path * Fetch commitish if matches PR syntax * Print command before running * Add PR commitish to remote.origin.fetch * Add pool and vmimage parameters * Map ref under "refs/remotes/origin" * Add ref to refs/remotes/origin Co-authored-by: Mike Harder <mharder@microsoft.com>
1 parent 70e51a9 commit c7b3b3f

File tree

2 files changed

+57
-26
lines changed

2 files changed

+57
-26
lines changed

eng/common/pipelines/templates/jobs/perf.yml

Lines changed: 50 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,37 @@
11
parameters:
2+
- name: JobName
3+
type: string
4+
default: 'Perf'
5+
- name: LinuxPool
6+
type: string
7+
default: 'azsdk-pool-mms-ubuntu-2004-perf'
8+
- name: LinuxVmImage
9+
type: string
10+
default: 'MMSUbuntu20.04'
11+
- name: WindowsPool
12+
type: string
13+
default: 'azsdk-pool-mms-win-2019-perf'
14+
- name: WindowsVmImage
15+
type: string
16+
default: 'MMS2019'
17+
- name: Language
18+
type: string
19+
default: ''
20+
- name: LanguageRepoName
21+
type: string
22+
default: $(Build.Repository.Name)
23+
- name: LanguageRepoCommitish
24+
type: string
25+
default: $(Build.SourceVersion)
26+
- name: ToolsRepoCommitish
27+
type: string
28+
default: 'main'
229
- name: Variables
330
type: object
431
default: []
532
- name: OperatingSystems
633
type: string
734
default: 'Linux'
8-
- name: Language
9-
type: string
10-
default: ''
1135
- name: InstallLanguageSteps
1236
type: stepList
1337
default: []
@@ -36,41 +60,43 @@ parameters:
3660
type: object
3761
default: {}
3862

39-
resources:
40-
repositories:
41-
- repository: azure-sdk-tools
42-
type: github
43-
endpoint: Azure
44-
name: Azure/azure-sdk-tools
45-
ref: main
46-
47-
variables:
48-
- ${{ parameters.Variables }}
49-
5063
jobs:
51-
- job: Perf
64+
- job: ${{ parameters.JobName }}
5265
timeoutInMinutes: 360
5366
strategy:
5467
matrix:
5568
${{ if contains(parameters.OperatingSystems, 'Linux') }}:
5669
Linux:
57-
Pool: 'azsdk-pool-mms-ubuntu-2004-perf'
58-
OsVmImage: 'MMSUbuntu20.04'
70+
Pool: ${{ parameters.LinuxPool }}
71+
OsVmImage: ${{ parameters.LinuxVmImage }}
5972
MatrixName: 'Linux'
6073
${{ if contains(parameters.OperatingSystems, 'Windows') }}:
6174
Windows:
62-
Pool: 'azsdk-pool-mms-win-2019-perf'
63-
OsVmImage: 'MMS2019'
75+
Pool: ${{ parameters.WindowsPool }}
76+
OsVmImage: ${{ parameters.WindowsVmImage }}
6477
MatrixName: 'Windows'
78+
variables:
79+
- ${{ parameters.Variables }}
6580
pool:
6681
name: $(Pool)
6782
vmImage: $(OSVmImage)
6883
steps:
69-
- checkout: self
70-
path: s
7184

72-
- checkout: azure-sdk-tools
73-
path: s/azure-sdk-tools
85+
- template: /eng/common/pipelines/templates/steps/sparse-checkout.yml
86+
parameters:
87+
Paths:
88+
- '/*'
89+
- '!sdk/**/test-recordings/*'
90+
- '!sdk/**/recordings/*'
91+
- '!sdk/**/SessionRecords/*'
92+
- '!sdk/**/session-records/*'
93+
Repositories:
94+
- Name: ${{ parameters.LanguageRepoName }}
95+
Commitish: ${{ parameters.LanguageRepoCommitish }}
96+
WorkingDirectory: $(System.DefaultWorkingDirectory)
97+
- Name: Azure/azure-sdk-tools
98+
Commitish: ${{ parameters.ToolsRepoCommitish }}
99+
WorkingDirectory: $(System.DefaultWorkingDirectory)/azure-sdk-tools
74100

75101
- template: /eng/common/pipelines/templates/steps/verify-agent-os.yml
76102
parameters:
@@ -133,7 +159,7 @@ jobs:
133159
- task: PublishPipelineArtifact@1
134160
inputs:
135161
targetPath: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation/results
136-
artifactName: results-$(MatrixName)
162+
artifactName: results-${{ parameters.Language }}-$(MatrixName)
137163
condition: always()
138164

139165
- template: /eng/common/TestResources/remove-test-resources.yml

eng/common/pipelines/templates/steps/sparse-checkout.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,13 @@ steps:
3838
} else {
3939
Write-Host "Repository $($repository.Name) is being initialized."
4040
41-
Write-Host "git clone --no-checkout --filter=tree:0 https://github.com/$($repository.Name) ."
42-
git clone --no-checkout --filter=tree:0 https://github.com/$($repository.Name) .
41+
if ($repository.Commitish -match '^refs/pull/\d+/merge$') {
42+
Write-Host "git clone --no-checkout --filter=tree:0 -c remote.origin.fetch='+$($repository.Commitish):refs/remotes/origin/$($repository.Commitish)' https://github.com/$($repository.Name) ."
43+
git clone --no-checkout --filter=tree:0 -c remote.origin.fetch=''+$($repository.Commitish):refs/remotes/origin/$($repository.Commitish)'' https://github.com/$($repository.Name) .
44+
} else {
45+
Write-Host "git clone --no-checkout --filter=tree:0 https://github.com/$($repository.Name) ."
46+
git clone --no-checkout --filter=tree:0 https://github.com/$($repository.Name) .
47+
}
4348
4449
Write-Host "git sparse-checkout init"
4550
git sparse-checkout init

0 commit comments

Comments
 (0)