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'
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'
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