mirror of
https://github.com/irongut/CodeCoverageSummary.git
synced 2026-05-18 16:00:13 +02:00
@@ -26,4 +26,4 @@ jobs:
|
|||||||
run: dotnet build src/CodeCoverageSummary.sln --configuration Release --no-restore
|
run: dotnet build src/CodeCoverageSummary.sln --configuration Release --no-restore
|
||||||
|
|
||||||
- name: Test with sample file
|
- name: Test with sample file
|
||||||
run: dotnet src/CodeCoverageSummary/bin/Release/net6.0/CodeCoverageSummary.dll --files src/coverage.cobertura.xml --badge true
|
run: dotnet src/CodeCoverageSummary/bin/Release/net6.0/CodeCoverageSummary.dll --files **/coverage.*.xml --badge true
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ jobs:
|
|||||||
run: dotnet build src/CodeCoverageSummary.sln --configuration Release --no-restore
|
run: dotnet build src/CodeCoverageSummary.sln --configuration Release --no-restore
|
||||||
|
|
||||||
- name: Test with sample file
|
- name: Test with sample file
|
||||||
run: dotnet src/CodeCoverageSummary/bin/Release/net6.0/CodeCoverageSummary.dll --files src/coverage.cobertura.xml --badge true
|
run: dotnet src/CodeCoverageSummary/bin/Release/net6.0/CodeCoverageSummary.dll --files **/coverage.*.xml --badge true
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
name: Deploy to GHCR
|
name: Deploy to GHCR
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="CommandLineParser" Version="2.8.0" />
|
<PackageReference Include="CommandLineParser" Version="2.8.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.FileSystemGlobbing" Version="6.0.0" />
|
||||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.14.0" />
|
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.14.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
using CommandLine;
|
using CommandLine;
|
||||||
|
using Microsoft.Extensions.FileSystemGlobbing;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@@ -19,8 +21,19 @@ namespace CodeCoverageSummary
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
// use glob patterns to match files
|
||||||
|
Matcher matcher = new();
|
||||||
|
matcher.AddIncludePatterns(o.Files.ToArray());
|
||||||
|
IEnumerable<string> matchingFiles = matcher.GetResultsInFullPath(".");
|
||||||
|
|
||||||
|
if (matchingFiles?.Any() == false)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Error: No files found matching glob pattern.");
|
||||||
|
return -2; // error
|
||||||
|
}
|
||||||
|
|
||||||
// check files exist
|
// check files exist
|
||||||
foreach (var file in o.Files)
|
foreach (var file in matchingFiles)
|
||||||
{
|
{
|
||||||
if (!File.Exists(file))
|
if (!File.Exists(file))
|
||||||
{
|
{
|
||||||
@@ -31,13 +44,13 @@ namespace CodeCoverageSummary
|
|||||||
|
|
||||||
// parse code coverage file
|
// parse code coverage file
|
||||||
CodeSummary summary = new();
|
CodeSummary summary = new();
|
||||||
foreach (var file in o.Files)
|
foreach (var file in matchingFiles)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"Code Coverage File: {file}");
|
Console.WriteLine($"Code Coverage File: {file}");
|
||||||
summary = ParseTestResults(file, summary);
|
summary = ParseTestResults(file, summary);
|
||||||
}
|
}
|
||||||
summary.LineRate /= o.Files.Count();
|
summary.LineRate /= matchingFiles.Count();
|
||||||
summary.BranchRate /= o.Files.Count();
|
summary.BranchRate /= matchingFiles.Count();
|
||||||
|
|
||||||
if (summary.Packages.Count == 0)
|
if (summary.Packages.Count == 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"profiles": {
|
"profiles": {
|
||||||
"CodeCoverageSummary": {
|
"CodeCoverageSummary": {
|
||||||
"commandName": "Project",
|
"commandName": "Project",
|
||||||
"commandLineArgs": "--files ../../../../coverage.cobertura.xml,../../../../coverage.cobertura.xml --format=text --badge true --thresholds=\"85 90\" --fail true"
|
"commandLineArgs": "--files **/coverage.*.xml --format=text --badge true --thresholds=\"85 90\" --fail true"
|
||||||
},
|
},
|
||||||
"Docker": {
|
"Docker": {
|
||||||
"commandName": "Docker",
|
"commandName": "Docker",
|
||||||
|
|||||||
Reference in New Issue
Block a user