Compare commits

...

10 Commits

Author SHA1 Message Date
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
Nilton Constantino
d10fbbd396 add withChecks into pipeline 2025-02-19 13:38:58 +00:00
2 changed files with 47 additions and 5 deletions

16
Jenkinsfile vendored
View File

@ -2,13 +2,19 @@ pipeline {
agent any
stages {
stage('Test') {
stage('build') {
steps {
// withChecks(name: 'Test', includeStage: true) {
echo 'Testing..'
sh './gradlew clean test'
withChecks(name: 'test-coverage', includeStage: true) {
sh './gradlew clean test jacocoTestReport jacocoTestCoverageVerification'
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 {
// Apply the application plugin to add support for building a CLI application in Java.
application
jacoco
}
repositories {
@ -22,6 +23,7 @@ dependencies {
// This dependency is used by the application.
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.
@ -31,6 +33,40 @@ java {
}
}
jacoco {
toolVersion = "0.8.12"
}
tasks.jacocoTestReport {
reports {
xml.required.set(true)
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 {
// Define the main class for the application.
mainClass.set("jenkins.test.App")