|
| 1 | +parameters: |
| 2 | + SuppressionFilePath: 'eng/CredScanSuppression.json' |
| 3 | + BaselineFilePath: '' |
| 4 | + SourceDirectory: $(Build.SourcesDirectory) |
| 5 | + ServiceDirectory: '' |
| 6 | + |
| 7 | +steps: |
| 8 | +- pwsh: | |
| 9 | + if ("$(Build.Reason)" -eq 'PullRequest') { |
| 10 | + (git diff "origin/$(System.PullRequest.TargetBranch)" HEAD --name-only) |
| 11 | + | ForEach-Object { Add-Content -Path "${{ parameters.SourceDirectory }}/credscan.tsv" -Value "${{ parameters.SourceDirectory }}/$_"} |
| 12 | + } |
| 13 | + else { |
| 14 | + Set-Content "${{ parameters.SourceDirectory }}/credscan.tsv" -Value "${{ parameters.SourceDirectory }}/sdk/${{ parameters.ServiceDirectory }}" |
| 15 | + } |
| 16 | + Get-Content "${{ parameters.SourceDirectory }}/credscan.tsv" |
| 17 | + displayName: CredScan setup |
| 18 | +- task: securedevelopmentteam.vss-secure-development-tools.build-task-credscan.CredScan@2 |
| 19 | + displayName: CredScan running |
| 20 | + inputs: |
| 21 | + toolMajorVersion: V2 |
| 22 | + toolVersion: latest |
| 23 | + scanFolder: "${{ parameters.SourceDirectory }}/credscan.tsv" |
| 24 | + suppressionsFile: ${{ parameters.SuppressionFilePath }} |
| 25 | +- task: securedevelopmentteam.vss-secure-development-tools.build-task-postanalysis.PostAnalysis@2 |
| 26 | + displayName: CredScan result analysis |
| 27 | + inputs: |
| 28 | + GdnBreakBaselineFiles: ${{ parameters.BaselineFilePath }} |
| 29 | + GdnBreakAllTools: false |
| 30 | + GdnBreakGdnToolCredScan: true |
| 31 | + GdnBreakGdnToolCredScanSeverity: Error |
| 32 | + GdnBreakBaselines: baseline |
| 33 | + # Used for generating baseline file. |
| 34 | + # GdnBreakOutputBaselineFile: dotnet |
| 35 | + # GdnBreakOutputBaseline: baseline |
| 36 | + condition: succeededOrFailed() |
| 37 | +- pwsh: | |
| 38 | + Write-Host "Please check https://aka.ms/azsdk/credscan for more information about the cred scan failure." |
| 39 | + displayName: CredScan troubleshooting guide |
| 40 | + condition: failed() |
0 commit comments