GaryF
GaryF

Reputation: 24350

Can a Jenkins build be failed for coverage going down?

I've seen a number of posts on making a Maven-backed Jenkins build fail for a given project if a coverage threshold isn't met i.e. coverage must be at least 80% or the build fails.

I'm wondering if there is a way to configure Jenkins to fail a build if the coverage is lower than the last build i.e. if the coverage for build N is 20%, and N+1 is 19%, then the build fails. I don't want to put in an explicit threshold, but I want the coverage to stay steady or get higher over time.

Upvotes: 39

Views: 11320

Answers (5)

Raghuram
Raghuram

Reputation: 52645

I haven't tried it, but assuming you are using maven cobertura plugin, I believe it can be configured to fail as documented here. Would jenkins not honour the failure?

I also see an open feature request for this.

Upvotes: 9

Cédric Julien
Cédric Julien

Reputation: 80771

Since the 1.6 version of Cobertura plugin, the issue has been fixed, and a new option appeared that allow the plugin to make the build failed if coverage is lower than previous build.

Upvotes: 4

malenkiy_scot
malenkiy_scot

Reputation: 16605

Save last coverage percentage on the side. Use Groovy script (run via Groovy Plugin) that taps into Jenkins Java API to compare current coverage level with previous one and fail the build if it drops. If you seriously decide to go this way I can provide more details and code samples.

Upvotes: 5

Tyler Smith
Tyler Smith

Reputation: 1279

In NCover I specify a certain percent through a config file. You could create a python script (or similar to alter that value if you wanted). Other than that I do not think there are any config variables

Upvotes: 0

dunni
dunni

Reputation: 44545

This should be configurable in the configuration section of the plugin, that calculates the coverage. E.g. for the PMD plugin you can configure limits for unstable or failed build on the Job configuration page in the section "Build settings".

Upvotes: 1

Related Questions