DotCov.Fallout 1.0.0

dotnet add package DotCov.Fallout --version 1.0.0
                    
NuGet\Install-Package DotCov.Fallout -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DotCov.Fallout" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DotCov.Fallout" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="DotCov.Fallout" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DotCov.Fallout --version 1.0.0
                    
#r "nuget: DotCov.Fallout, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package DotCov.Fallout@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DotCov.Fallout&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=DotCov.Fallout&version=1.0.0
                    
Install as a Cake Tool

Build Coverage

DotCov.Fallout

Coverage reporting and threshold gating for Fallout builds — one interface, no target wiring.

Migrating from DotCov.Nuke

Version 1.0 replaces DotCov.Nuke with this package; it is not a NUKE compatibility shim. First migrate your build with the Fallout migration guide, then replace the DotCov.Nuke package reference with DotCov.Fallout version 1.0.0 and change using DotCov.Nuke; to using DotCov.Fallout;. Keep ICoverageReport on your FalloutBuild. Existing DotCov.Nuke 0.x packages remain separate and do not automatically redirect to this package.

See the 1.0 migration notes for the accompanying parser API changes.

Getting started

fallout :add-package DotCov.Fallout
using DotCov.Fallout;

class Build : FalloutBuild, ICoverageReport { }
fallout ReportCoverage --coverage-min-line 80 --coverage-exclude-generated-param true

That is the whole setup. ReportCoverage searches RootDirectory / "TestResults" for **/*cobertura*.xml (including timestamped MTP reports and hidden directories), merges everything it finds, renders the chosen format, appends a markdown block to $GITHUB_STEP_SUMMARY when that variable is set, and fails the build when line or branch coverage is below threshold.

The target attaches itself to ICompile through TryDependsOn, so it hooks into an existing build without requiring you to implement ICompile.

Parameters

Parameter Default Effect
--coverage-min-line 80 Minimum line coverage percentage (invariant number)
--coverage-min-branch 0 Minimum branch coverage percentage
--coverage-format table table, json, markdown, or md
--coverage-exclude-generated-param false true/false: apply ExclusionRules.WellKnown before gating
--coverage-pattern **/*cobertura*.xml filename (top level) or **/filename (recursive)
--coverage-max-chars-param 50000000 Per-file XML character cap; 0 disables it

Every value is validated once, before any report is read; an invalid value fails the target naming the parameter. Override CoverageSearchDirectory in your Build class to scan somewhere other than RootDirectory / "TestResults".

Outcomes

Situation Result
Search directory missing Target fails: Coverage search directory '…' does not exist
Directory exists, no matching report Target fails: No files matching '…' found in …
Reports parsed, but nothing measured Target fails: Coverage could not be measured: NODATA: …
Coverage below a threshold Target fails: Coverage below threshold: FAIL: …
Every threshold is 0 Target fails: Coverage gate is disabled …
Thresholds met Target succeeds; the verdict is logged

Parser warnings (malformed hit counts, ambiguous source roots, …) are logged one per line and never change the verdict. An unwritable GITHUB_STEP_SUMMARY is logged as a warning and does not fail an otherwise passing gate. Percentages are invariant-formatted, so CI logs read 62.0% on every host, never 62,0%.

Parsing comes from DotCov: streaming XmlReader, no full-DOM load, DTDs prohibited and external resolution disabled, bounded memory.

Also in this family

DotCov.Tool — the dotcov CLI · DotCov — the parser as a library

Feedback

Documentation · Issues · MIT

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 39 9/18/2026