Skip to content

Commit d020b18

Browse files
quality: generate and publish CRAP scores to AzDo (#462)
* quality: generate and publish CRAP scores to AzDo * fixed xunit command * fail pipeline if any steps partially succeed
1 parent ced3532 commit d020b18

File tree

1 file changed

+26
-3
lines changed

1 file changed

+26
-3
lines changed

build-system/azure-pipeline.template.yaml

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ jobs:
2020
- script: dotnet build -c Release
2121
displayName: 'Build'
2222

23-
- script: dotnet test -c Release --no-build --logger:trx
23+
- script: dotnet test -c Release --no-build --logger:trx --collect:"XPlat Code Coverage" --results-directory TestResults
2424
displayName: 'Run tests'
25+
continueOnError: true # Allow continuation even if tests fail
2526

2627
- task: PublishTestResults@2
2728
displayName: 'Publish test results'
@@ -30,7 +31,24 @@ jobs:
3031
testResultsFiles: '**/*.trx'
3132
testRunTitle: '${{ parameters.name }}'
3233
mergeTestResults: true
33-
condition: succeededOrFailed()
34+
condition: always() # Run this step regardless of previous step outcomes
35+
36+
- task: reportgenerator@5
37+
displayName: ReportGenerator
38+
condition: always() # Run this step regardless of previous step outcomes
39+
continueOnError: true
40+
inputs:
41+
reports: '$(Build.SourcesDirectory)/TestResults/**/*.cobertura.xml'
42+
targetdir: '$(Build.SourcesDirectory)/coveragereport'
43+
reporttypes: 'HtmlInline_AzurePipelines;Cobertura;Badges'
44+
assemblyfilters: '-xunit*'
45+
publishCodeCoverageResults: true
46+
47+
- publish: $(Build.SourcesDirectory)/coveragereport
48+
displayName: 'Publish Coverage Report'
49+
condition: and(always(), eq(variables['Agent.OS'], 'Windows_NT'))
50+
continueOnError: true
51+
artifact: 'CoverageReports'
3452

3553
- script: dotnet pack -c Release --no-build -o $(Build.ArtifactStagingDirectory)/nuget
3654
displayName: 'Create packages'
@@ -40,4 +58,9 @@ jobs:
4058
inputs:
4159
PathtoPublish: '$(Build.ArtifactStagingDirectory)/nuget'
4260
ArtifactName: 'nuget'
43-
publishLocation: 'Container'
61+
publishLocation: 'Container'
62+
63+
- script: 'echo 1>&2'
64+
failOnStderr: true
65+
displayName: 'If above is partially succeeded, then fail'
66+
condition: eq(variables['Agent.JobStatus'], 'SucceededWithIssues')

0 commit comments

Comments
 (0)