Skip to content

Commit 904cd39

Browse files
authored
Coverage reports (#1044)
1 parent 0d6147b commit 904cd39

File tree

8 files changed

+70
-11
lines changed

8 files changed

+70
-11
lines changed

.github/workflows/test.yml

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ jobs:
1818
# between datacenter versions and home versions
1919
- rid: win-x64
2020
os: windows-latest
21+
name: win-x64
2122
- rid: win-x86
2223
os: windows-latest
24+
name: win-x86
2325

2426
# given there appear to be significant differences
2527
# we test all available ubuntu versions here
@@ -31,6 +33,7 @@ jobs:
3133

3234
- rid: ubuntu.20.04-x64
3335
os: ubuntu-20.04
36+
name: ubuntu-20.04-x64
3437

3538
# Ubuntu raises an SEH exception, see https://discord.com/channels/521092042781229087/1004867182787838043/1004887853500739684
3639
# - rid: ubuntu.18.04-x64
@@ -42,18 +45,21 @@ jobs:
4245
os: macos-12
4346
xcode_sdk: macosx12.3 # macos-12 image is currently (5th August 2022) on MacOS 12.5 but the latest sdk is macosx12.3
4447
xcode_version: Xcode_13.4.1
48+
name: macosx12.3-xcode13
4549

4650
- rid: osx.11.0-x64
4751
os: macos-11
4852
xcode_sdk: macosx11.3
4953
xcode_version: Xcode_12.5.1
54+
name: macosx11.3-xcode12
5055
runs-on: ${{ matrix.os }}
5156
steps:
5257
- uses: actions/checkout@v3
5358
with:
5459
submodules: "true"
5560
- name: Setup .NET
5661
uses: actions/setup-dotnet@v2
62+
5763
- name: Restore
5864
run: dotnet restore --runtime ${{ matrix.rid }}
5965
# Build can't be done in a separate step as building for a specific runtime & configuration is unsupported for some reason...
@@ -63,6 +69,53 @@ jobs:
6369
if: matrix.xcode_version != 0
6470
run: sudo xcode-select -switch /Applications/${{ matrix.xcode_version }}.app
6571
- name: Test
66-
run: dotnet test -c Release --no-restore --runtime ${{ matrix.rid }}
72+
run: dotnet test -c Release --no-restore --runtime ${{ matrix.rid }} --collect:"XPlat Code Coverage" --results-directory ./coverage
6773
env:
6874
SILK_DOTNET_Scraper__XcodeSdk: ${{ matrix.xcode_sdk }}
75+
- name: Upload Coverage Results
76+
uses: actions/upload-artifact@v3
77+
with:
78+
name: coverage-${{ matrix.name }}
79+
path: ./coverage/**/coverage.cobertura.xml
80+
Report_Coverage:
81+
runs-on: ubuntu-latest
82+
needs: Test
83+
permissions:
84+
pull-requests: write
85+
steps:
86+
- uses: actions/download-artifact@v3
87+
with:
88+
path: ./coverage
89+
- name: Setup .NET Core # Required to execute ReportGenerator
90+
uses: actions/setup-dotnet@v1
91+
with:
92+
dotnet-version: 6.0.300
93+
94+
- name: ReportGenerator
95+
uses: danielpalme/ReportGenerator-GitHub-Action@5.1.9
96+
with:
97+
reports: './coverage/**/**/coverage.cobertura.xml'
98+
targetdir: './coveragereport'
99+
reporttypes: 'Cobertura'
100+
# historydir: '' # Optional directory for storing persistent coverage information. Can be used in future reports to show coverage evolution.
101+
# plugins: '' # Optional plugin files for custom reports or custom history storage (separated by semicolon).
102+
verbosity: 'Info' # The verbosity level of the log messages. Values: Verbose, Info, Warning, Error, Off
103+
tag: '${{ github.run_number }}_${{ github.run_id }}' # Optional tag or build version.
104+
- name: Generate Summary
105+
uses: irongut/CodeCoverageSummary@v1.3.0
106+
with:
107+
filename: './coveragereport/Cobertura.xml'
108+
badge: true
109+
fail_below_min: true
110+
format: markdown
111+
hide_branch_rate: false
112+
hide_complexity: true
113+
indicators: true
114+
output: file
115+
thresholds: '60 80'
116+
- name: Add Coverage PR Comment
117+
uses: marocchino/sticky-pull-request-comment@v2
118+
if: always() && github.event_name == 'pull_request'
119+
with:
120+
header: coverage-results
121+
path: code-coverage-results.md

Directory.Packages.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,6 @@
5151
<PackageVersion Include="Microsoft.Extensions.Logging" Version="$(MsExtensionNugetVersion)" />
5252
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="$(MsExtensionNugetVersion)" />
5353
<PackageVersion Include="Bogus" Version="34.0.2" />
54+
<PackageVersion Include="coverlet.collector" Version="3.1.2" />
5455
</ItemGroup>
5556
</Project>

tests/Silk.NET.Maths.Tests/Silk.NET.Maths.Tests.csproj

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@
88
</PropertyGroup>
99

1010
<ItemGroup>
11-
<ProjectReference Include="..\..\src\libraries\Silk.NET.Maths\Silk.NET.Maths.csproj" />
11+
<ProjectReference Include="..\..\src\libraries\Silk.NET.Maths\Silk.NET.Maths.csproj" />
1212
</ItemGroup>
1313

1414
<ItemGroup>
15-
<PackageReference Include="Microsoft.NET.Test.Sdk" />
16-
<PackageReference Include="xunit" />
17-
<PackageReference Include="xunit.runner.visualstudio">
18-
<PrivateAssets>all</PrivateAssets>
19-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
20-
</PackageReference>
15+
<PackageReference Include="Microsoft.NET.Test.Sdk" />
16+
<PackageReference Include="xunit" />
17+
<PackageReference Include="xunit.runner.visualstudio">
18+
<PrivateAssets>all</PrivateAssets>
19+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
20+
</PackageReference>
21+
<PackageReference Include="coverlet.collector" />
2122
</ItemGroup>
2223

2324
</Project>

tests/Silk.NET.SilkTouch.Emitter.Tests/Silk.NET.SilkTouch.Emitter.Tests.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@
1717
</ItemGroup>
1818

1919
<ItemGroup>
20-
<ProjectReference Include="..\..\src\generators\Silk.NET.SilkTouch.Emitter\Silk.NET.SilkTouch.Emitter.csproj" />
21-
<ProjectReference Include="..\Silk.NET.SilkTouch.TestFramework\Silk.NET.SilkTouch.TestFramework.csproj" />
20+
<ProjectReference Include="..\..\src\generators\Silk.NET.SilkTouch.Emitter\Silk.NET.SilkTouch.Emitter.csproj" />
21+
<ProjectReference Include="..\Silk.NET.SilkTouch.TestFramework\Silk.NET.SilkTouch.TestFramework.csproj" />
22+
<PackageReference Include="coverlet.collector" />
2223
</ItemGroup>
2324

2425
</Project>

tests/Silk.NET.SilkTouch.IntegrationTests/Silk.NET.SilkTouch.IntegrationTests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
<PackageReference Include="Verify.Xunit" />
2323
<PackageReference Include="Microsoft.Extensions.Logging.Console" />
2424
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
25+
<PackageReference Include="coverlet.collector" />
2526
</ItemGroup>
2627

2728
<ItemGroup>

tests/Silk.NET.SilkTouch.Scraper.Tests/Silk.NET.SilkTouch.Scraper.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<PackageReference Include="libClangSharp" />
2222
<PackageReference Include="Microsoft.Extensions.Logging.Console" />
2323
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
24+
<PackageReference Include="coverlet.collector" />
2425
</ItemGroup>
2526

2627
<ItemGroup>

tests/Silk.NET.SilkTouch.Symbols.Tests/Silk.NET.SilkTouch.Symbols.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
<PrivateAssets>all</PrivateAssets>
1616
</PackageReference>
1717
<PackageReference Include="Moq" />
18+
<PackageReference Include="coverlet.collector" />
1819
</ItemGroup>
1920

2021
<ItemGroup>
2122
<ProjectReference Include="..\..\src\generators\Silk.NET.SilkTouch.Symbols\Silk.NET.SilkTouch.Symbols.csproj" />
2223
<ProjectReference Include="..\Silk.NET.SilkTouch.TestFramework\Silk.NET.SilkTouch.TestFramework.csproj" />
2324
<ProjectReference Include="..\Silk.NET.SilkTouch.Tests.Common\Silk.NET.SilkTouch.Tests.Common.csproj" />
24-
<PackageReference Include="Bogus" />
2525
</ItemGroup>
2626

2727
</Project>

tests/Silk.NET.SilkTouch.TypeResolution.Tests/Silk.NET.SilkTouch.TypeResolution.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
</PackageReference>
1717
<PackageReference Include="Microsoft.Extensions.Logging.Console" />
1818
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
19+
<PackageReference Include="coverlet.collector" />
1920
</ItemGroup>
2021

2122
<ItemGroup>

0 commit comments

Comments
 (0)