Compare commits

...

10 Commits

Author SHA1 Message Date
39a361ec41 add withChecks into pipeline 2025-02-19 15:39:04 +00:00
9ec20b53e3 add withChecks into pipeline 2025-02-19 15:29:54 +00:00
a86ddef535 add withChecks into pipeline 2025-02-19 15:00:51 +00:00
b3e3a68736 add withChecks into pipeline 2025-02-19 14:38:25 +00:00
f26cfa6950 add withChecks into pipeline 2025-02-19 14:34:54 +00:00
4b57b3d45a add withChecks into pipeline 2025-02-19 14:28:27 +00:00
983b67833b add withChecks into pipeline 2025-02-19 14:27:33 +00:00
aae261ffa3 add withChecks into pipeline 2025-02-19 14:20:06 +00:00
Nilton Constantino
9c34ce094f add withChecks into pipeline 2025-02-19 14:13:24 +00:00
Nilton Constantino
8d620984e3 add withChecks into pipeline 2025-02-19 14:10:53 +00:00
2 changed files with 47 additions and 4 deletions

14
Jenkinsfile vendored
View File

@ -2,12 +2,18 @@ pipeline {
agent any agent any
stages { stages {
stage('Test') { stage('build') {
steps { steps {
withChecks(name: 'Test', includeStage: true) { withChecks(name: 'test-coverage', includeStage: true) {
echo 'Testing..' sh './gradlew clean test jacocoTestReport jacocoTestCoverageVerification'
sh './gradlew clean test'
junit '**/build/test-results/test/TEST-*.xml' junit '**/build/test-results/test/TEST-*.xml'
recordCoverage(tools: [[parser: 'JACOCO']],
id: 'jacoco', name: 'JaCoCo Coverage',
sourceCodeRetention: 'EVERY_BUILD'
// , qualityGates: [
// [threshold: 40.0, metric: 'LINE', baseline: 'PROJECT', unstable: true],
// [threshold: 40.0, metric: 'BRANCH', baseline: 'PROJECT', unstable: true]]
)
} }
} }
} }

View File

@ -9,6 +9,7 @@
plugins { plugins {
// Apply the application plugin to add support for building a CLI application in Java. // Apply the application plugin to add support for building a CLI application in Java.
application application
jacoco
} }
repositories { repositories {
@ -22,6 +23,7 @@ dependencies {
// This dependency is used by the application. // This dependency is used by the application.
implementation("com.google.guava:guava:31.1-jre") implementation("com.google.guava:guava:31.1-jre")
implementation("org.jacoco:org.jacoco.core:0.8.12")
} }
// Apply a specific Java toolchain to ease working on different environments. // Apply a specific Java toolchain to ease working on different environments.
@ -31,6 +33,41 @@ java {
} }
} }
jacoco {
toolVersion = "0.8.12"
}
tasks.jacocoTestReport {
reports {
xml.required.set(true)
xml.outputLocation.set(file("build/reports/jacoco/test/jacoco.xml"))
csv.required.set(false)
html.required.set(true)
}
}
tasks.jacocoTestCoverageVerification {
violationRules {
rule {
limit {
minimum = "0.4".toBigDecimal()
}
}
rule {
isEnabled = true
element = "CLASS"
includes = listOf("jenkins.test.*")
limit {
counter = "LINE"
value = "TOTALCOUNT"
minimum = "0.3".toBigDecimal()
}
}
}
}
application { application {
// Define the main class for the application. // Define the main class for the application.
mainClass.set("jenkins.test.App") mainClass.set("jenkins.test.App")