Skip to content

Commit bbccd04

Browse files
committed
Code coverage: exclude obsolete members, prevent usage of stale coverage results in local build
1 parent 5e56950 commit bbccd04

File tree

5 files changed

+23
-2
lines changed

5 files changed

+23
-2
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ jobs:
127127
dotnet build --no-restore --configuration Release /p:VersionSuffix=$env:PACKAGE_VERSION_SUFFIX
128128
- name: Test
129129
run: |
130-
dotnet test --no-build --configuration Release --collect:"XPlat Code Coverage" --logger "GitHubActions;summary.includeSkippedTests=true" -- RunConfiguration.CollectSourceInformation=true DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.DeterministicReport=true
130+
dotnet test --no-build --configuration Release --collect:"XPlat Code Coverage" --logger "GitHubActions;summary.includeSkippedTests=true"
131131
- name: Upload coverage to codecov.io
132132
if: matrix.os == 'ubuntu-latest'
133133
uses: codecov/codecov-action@v3

Build.ps1

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,16 @@ Write-Host "$(pwsh --version)"
1010
Write-Host "Active .NET SDK: $(dotnet --version)"
1111
Write-Host "Using version suffix: $versionSuffix"
1212

13+
Remove-Item -Recurse -Force artifacts -ErrorAction SilentlyContinue
14+
Remove-Item -Recurse -Force * -Include coverage.cobertura.xml
15+
1316
dotnet tool restore
1417
VerifySuccessExitCode
1518

1619
dotnet build --configuration Release /p:VersionSuffix=$versionSuffix
1720
VerifySuccessExitCode
1821

19-
dotnet test --no-build --configuration Release --collect:"XPlat Code Coverage" -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.DeterministicReport=true
22+
dotnet test --no-build --configuration Release --collect:"XPlat Code Coverage"
2023
VerifySuccessExitCode
2124

2225
dotnet reportgenerator -reports:**\coverage.cobertura.xml -targetdir:artifacts\coverage -filefilters:-*.g.cs

Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
<IsPackable>false</IsPackable>
5454
<WarnOnPackingNonPackableProject>false</WarnOnPackingNonPackableProject>
5555
<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)CodingGuidelines.ruleset</CodeAnalysisRuleSet>
56+
<RunSettingsFilePath>$(MSBuildThisFileDirectory)tests.runsettings</RunSettingsFilePath>
5657
<JsonApiDotNetCoreVersionPrefix>5.4.1</JsonApiDotNetCoreVersionPrefix>
5758
</PropertyGroup>
5859
</Project>

JsonApiDotNetCore.sln

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
1313
CodingGuidelines.ruleset = CodingGuidelines.ruleset
1414
CSharpGuidelinesAnalyzer.config = CSharpGuidelinesAnalyzer.config
1515
Directory.Build.props = Directory.Build.props
16+
tests.runsettings = tests.runsettings
1617
EndProjectSection
1718
EndProject
1819
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{026FBC6C-AF76-4568-9B87-EC73457899FD}"

tests.runsettings

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<RunSettings>
3+
<RunConfiguration>
4+
<CollectSourceInformation>true</CollectSourceInformation>
5+
</RunConfiguration>
6+
<DataCollectionRunSettings>
7+
<DataCollectors>
8+
<DataCollector friendlyName="XPlat Code Coverage">
9+
<Configuration>
10+
<ExcludeByAttribute>ObsoleteAttribute,GeneratedCodeAttribute</ExcludeByAttribute>
11+
<DeterministicReport>true</DeterministicReport>
12+
</Configuration>
13+
</DataCollector>
14+
</DataCollectors>
15+
</DataCollectionRunSettings>
16+
</RunSettings>

0 commit comments

Comments
 (0)