@@ -8,24 +8,12 @@ parameters:
88- name : PipelineArtifactName
99 type : string
1010 default : packages
11- - name : BeforeTestSteps
12- type : object
13- default : []
14- - name : AfterTestSteps
15- type : object
16- default : []
1711- name : TestTimeoutInMinutes
1812 type : number
1913 default : 60
20- - name : TestProxy
21- type : boolean
22- default : false
2314- name : TestPipeline
2415 type : boolean
2516 default : false
26- - name : GenerateApiReviewForManualOnly
27- type : boolean
28- default : false
2917- name : BuildMatrix
3018 type : object
3119 default :
@@ -49,128 +37,24 @@ parameters:
4937 default : stable
5038
5139jobs :
52- - job : Pack
53- displayName : " Pack Crates"
54- timeoutInMinutes : 90
55-
56- pool :
57- name : $(LINUXPOOL)
58- image : $(LINUXVMIMAGE)
59- os : linux
60-
61- templateContext :
62- sdl :
63- sbom :
64- enabled : true
65- additionalComponentDetectorArgs : ' --DirectoryExclusionList **/target/vendor/**'
66-
67- steps :
68- - template : /eng/common/pipelines/templates/steps/sparse-checkout.yml
69- parameters :
70- paths :
71- - " /*"
72-
73- - ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], '')) }} :
74- - script : |
75- echo "##vso[build.addbuildtag]$(Build.Reason)"
76- displayName: Tag build reason
77-
78- - ${{ if eq(parameters.TestPipeline, 'true') }} :
79- - template : /eng/common/pipelines/templates/steps/set-test-pipeline-version.yml
80- parameters :
81- PackageNames : ${{ join(',', parameters.Artifacts.*.name) }}
82- ServiceDirectory : ${{parameters.ServiceDirectory}}
83- # Crate names contain '_' and prerelease versions contain '-' e.g., `[email protected] `. 84- TagSeparator : ' @'
85- TestPipeline : true
86-
87- - template : /eng/pipelines/templates/steps/pack-crates.yml
88- parameters :
89- ServiceDirectory : ${{ parameters.ServiceDirectory }}
90-
91- - template : /eng/common/pipelines/templates/steps/publish-1es-artifact.yml
92- parameters :
93- ArtifactPath : $(Build.ArtifactStagingDirectory)
94- ArtifactName : ${{ parameters.PipelineArtifactName }}
95- CustomCondition : and(succeededOrFailed(), ne(variables['NoPackagesChanged'],'true'))
40+ - template : /eng/pipelines/templates/jobs/pack.yml
41+ parameters :
42+ ServiceDirectory : ${{ parameters.ServiceDirectory }}
43+ Artifacts : ${{ parameters.Artifacts }}
44+ TestPipeline : ${{ parameters.TestPipeline }}
45+ PipelineArtifactName : ${{ parameters.PipelineArtifactName }}
9646
9747- ${{ each matrix in parameters.BuildMatrix }} :
9848 - ${{ each toolchain in matrix.Toolchains }} :
99- - job : Test_${{ matrix.pool.os }}_${{ toolchain }}
100- displayName : " Test: ${{ matrix.pool.os }} ${{ toolchain }}"
101- timeoutInMinutes : 90
102- dependsOn : Pack
103- condition : and(succeeded(), ne(variables['SkipTests'],'true'))
104-
105- pool : ${{ matrix.pool }}
106-
107- steps :
108- - template : /eng/common/pipelines/templates/steps/sparse-checkout.yml
109- parameters :
110- paths :
111- - " /*"
112-
113- - download : current
114- artifact : ${{ parameters.PipelineArtifactName }}
115-
116- - template : /eng/common/pipelines/templates/steps/set-default-branch.yml@self
117-
118- - template : /eng/pipelines/templates/steps/test-packages.yml
119- parameters :
120- Toolchain : ${{ toolchain }}
121- BuildArtifactName : ${{ parameters.PipelineArtifactName }}
122- UnitTests : true
123- FunctionalTests : true
124-
125- - job : " Analyze"
126- condition : and(succeededOrFailed(), ne(variables['Skip.Analyze'], 'true'))
127- timeoutInMinutes : ${{ parameters.TestTimeoutInMinutes }}
128-
129- pool :
130- os : linux
131- name : $(LINUXPOOL)
132- image : $(LINUXVMIMAGE)
133-
134- steps :
135- - template : /eng/common/pipelines/templates/steps/sparse-checkout.yml
136- parameters :
137- paths :
138- - " /*"
139-
140- - ${{ if ne(parameters.AnalyzeToolchain, 'nightly') }} :
141- - template : /eng/pipelines/templates/steps/use-rust.yml@self
142- parameters :
143- Toolchain : nightly
144-
145- - template : /eng/pipelines/templates/steps/use-rust.yml@self
146- parameters :
147- Toolchain : ${{ parameters.AnalyzeToolchain }}
148-
149- - template : /eng/common/pipelines/templates/steps/save-package-properties.yml
150-
151- - task : Powershell@2
152- displayName : " Run source analysis"
153- inputs :
154- pwsh : true
155- filePath : $(Build.SourcesDirectory)/eng/scripts/Analyze-Code.ps1
156- arguments : >
157- -Toolchain '$(Toolchain)'
158- -PackageInfoDirectory '$(Build.ArtifactStagingDirectory)/PackageInfo'
159- -SkipPackageAnalysis:('$(NoPackagesChanged)' -eq 'true')
160-
161- - template : /eng/common/pipelines/templates/steps/check-spelling.yml
162- parameters :
163- ContinueOnError : false
164-
165- # Disabled until we fix crates.io link checking
166- # - template: /eng/common/pipelines/templates/steps/verify-links.yml
167- # parameters:
168- # ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
169- # Directory: ""
170- # Urls: (eng/common/scripts/get-markdown-files-from-changed-files.ps1)
171- # ${{ elseif eq(parameters.ServiceDirectory, 'auto') }}:
172- # Directory: ""
173- # ${{ else }}:
174- # Directory: sdk/${{ parameters.ServiceDirectory }}
175- # CheckLinkGuidance: $true
176- # Condition: succeededOrFailed()
49+ - template : /eng/pipelines/templates/jobs/test.yml
50+ parameters :
51+ ServiceDirectory : ${{ parameters.ServiceDirectory }}
52+ Toolchain : ${{ toolchain }}
53+ Matrix : ${{ matrix }}
54+ TimeoutInMinutes : ${{ parameters.TestTimeoutInMinutes }}
55+
56+ - template : /eng/pipelines/templates/jobs/analyze.yml
57+ parameters :
58+ ServiceDirectory : ${{ parameters.ServiceDirectory }}
59+ Toolchain : ${{ parameters.AnalyzeToolchain }}
60+ TimeoutInMinutes : ${{ parameters.TestTimeoutInMinutes }}
0 commit comments