@@ -95,18 +95,11 @@ jobs:
9595 - ' !sdk/**/test-recordings'
9696 - ' !sdk/**/session-records'
9797
98- # This is the case for the PullReqest pipeline which has a ServiceDirectory of 'auto'.
99- # For the PullRequest pipeline, the packageInfo files generated from the diff end up
100- # being the source of truth for the artifacts list.
101- - ${{ if and(eq(variables['Build.Reason'], 'PullRequest'), eq(parameters.ServiceDirectory, 'auto')) }} :
102- - template : /eng/common/pipelines/templates/steps/save-package-properties.yml
103- parameters :
104- ServiceDirectory : ${{parameters.ServiceDirectory}}
105- ExcludePaths : ${{parameters.ExcludePaths}}
106-
10798 - template : /eng/pipelines/templates/steps/generate-project-list-and-cache-maven-repository.yml
10899 parameters :
109100 JobType : ' Build'
101+ ServiceDirectory : ${{parameters.ServiceDirectory}}
102+ ExcludePaths : ${{parameters.ExcludePaths}}
110103
111104 - task : UsePythonVersion@0
112105 displayName : ' Use Python $(PythonVersion)'
@@ -203,8 +196,11 @@ jobs:
203196 arguments : >
204197 -BuildOutputDirectory $(System.DefaultWorkingDirectory)/build
205198 -ArtifactsList ('$(ArtifactsJson)' | ConvertFrom-Json | Select-Object name, groupId)
199+ -PackageInfoDir $(Build.ArtifactStagingDirectory)/PackageInfo
206200 -InformationAction Continue
207201
202+ # This only copies the ReleaseArtifacts but for the PR pipeline just copy
203+ # all of the built artifacts.
208204 - task : PowerShell@2
209205 displayName : ' Copy artifacts to staging'
210206 inputs :
@@ -215,6 +211,7 @@ jobs:
215211 -SourceDirectory $(System.DefaultWorkingDirectory)/build
216212 -TargetDirectory $(Build.ArtifactStagingDirectory)
217213 -Artifacts ('${{ replace(convertToJson(parameters.ReleaseArtifacts), '''', '`''') }}' | ConvertFrom-Json | Where-Object -Not skipPublishPackage )
214+ -PackageInfoDir $(Build.ArtifactStagingDirectory)/PackageInfo
218215 -InformationAction Continue
219216
220217 - task : Powershell@2
@@ -303,6 +300,8 @@ jobs:
303300 - template : /eng/pipelines/templates/steps/generate-project-list-and-cache-maven-repository.yml
304301 parameters :
305302 JobType : ' Analyze'
303+ ServiceDirectory : ${{parameters.ServiceDirectory}}
304+ ExcludePaths : ${{parameters.ExcludePaths}}
306305
307306 - task : PowerShell@2
308307 displayName : Generate directories variable for sparse checkout
@@ -332,9 +331,14 @@ jobs:
332331 ServiceDirectory : " template"
333332 TestPipeline : ${{ parameters.TestPipeline }}
334333
335- - template : /eng/common/pipelines/templates/steps/verify-readme.yml
336- parameters :
337- ScanPath : $(Build.SourcesDirectory)/sdk/${{ parameters.ServiceDirectory }}
334+ - ${{ if and(eq(variables['Build.Reason'], 'PullRequest'), eq(parameters.ServiceDirectory, 'auto')) }} :
335+ - template : /eng/common/pipelines/templates/steps/verify-readmes.yml
336+ parameters :
337+ PackagePropertiesFolder : $(Build.ArtifactStagingDirectory)/PackageInfo
338+ - ${{ else }} :
339+ - template : /eng/common/pipelines/templates/steps/verify-readme.yml
340+ parameters :
341+ ScanPath : $(Build.SourcesDirectory)/sdk/${{ parameters.ServiceDirectory }}
338342
339343 - template : /eng/common/pipelines/templates/steps/verify-links.yml
340344 parameters :
@@ -345,9 +349,24 @@ jobs:
345349 Directory : sdk/${{ parameters.ServiceDirectory }}
346350 CheckLinkGuidance : $true
347351
348- - template : /eng/common/pipelines/templates/steps/verify-samples.yml
349- parameters :
350- ServiceDirectory : ${{ parameters.ServiceDirectory }}
352+ - ${{ if and(eq(variables['Build.Reason'], 'PullRequest'), eq(parameters.ServiceDirectory, 'auto')) }} :
353+ - pwsh : |
354+ $diffJson = Get-Content '$(Build.ArtifactStagingDirectory)/diff/diff.json' -Raw
355+ $diff = ConvertFrom-Json $diffJson
356+ $changedServicesString = ''
357+ if ($diff.ChangedServices) {
358+ $changedServicesString = $diff.ChangedServices -join ","
359+ }
360+ Write-Host "changedServicesString='$changedServicesString'"
361+ Write-Host "##vso[task.setvariable variable=SamplesServiceDirectories;]$changedServicesString"
362+ displayName: Get samples service directories from PR diff
363+ - template : /eng/common/pipelines/templates/steps/verify-samples.yml
364+ parameters :
365+ ServiceDirectories : $(SamplesServiceDirectories)
366+ - ${{ else }} :
367+ - template : /eng/common/pipelines/templates/steps/verify-samples.yml
368+ parameters :
369+ ServiceDirectory : ${{ parameters.ServiceDirectory }}
351370
352371 # Use BasePathLength of 38 instead of the default 49 as some released files fail when the number is higher.
353372 - template : /eng/common/pipelines/templates/steps/verify-path-length.yml
@@ -356,13 +375,18 @@ jobs:
356375 BasePathLength : 38
357376
358377 - ${{if ne(parameters.SDKType, 'data')}} :
359- - ${{ each artifact in parameters.Artifacts }} :
360- - ${{if ne(artifact.skipVerifyChangelog, 'true')}} :
361- - template : /eng/common/pipelines/templates/steps/verify-changelog.yml
362- parameters :
363- PackageName : ${{artifact.name}}
364- ServiceName : ${{parameters.ServiceDirectory}}
365- ForRelease : false
378+ - ${{ if and(eq(variables['Build.Reason'], 'PullRequest'), eq(parameters.ServiceDirectory, 'auto')) }} :
379+ - template : /eng/common/pipelines/templates/steps/verify-changelogs.yml
380+ parameters :
381+ PackagePropertiesFolder : $(Build.ArtifactStagingDirectory)/PackageInfo
382+ - ${{ else }} :
383+ - ${{ each artifact in parameters.Artifacts }} :
384+ - ${{if ne(artifact.skipVerifyChangelog, 'true')}} :
385+ - template : /eng/common/pipelines/templates/steps/verify-changelog.yml
386+ parameters :
387+ PackageName : ${{artifact.name}}
388+ ServiceName : ${{parameters.ServiceDirectory}}
389+ ForRelease : false
366390
367391 # We `install` the code quality reports tooling into our local m2 cache separately from building the Maven project
368392 # reports. This means it is available as part of that, but also so that this is not documented in the project report.
@@ -434,6 +458,7 @@ jobs:
434458 AdditionalParameters :
435459 SDKType : ${{ parameters.SDKType }}
436460 ServiceDirectory : ${{ parameters.ServiceDirectory }}
461+ ExcludePaths : ${{ parameters.ExcludePaths }}
437462 TestPipeline : ${{ parameters.TestPipeline }}
438463 PreTestSteps : ${{ parameters.PreTestSteps }}
439464 PreBuildSteps : ${{ parameters.PreBuildSteps }}
0 commit comments