Compare commits

...

7 Commits

Author SHA1 Message Date
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 45 additions and 5 deletions

22
Jenkinsfile vendored
View File

@ -2,13 +2,25 @@ pipeline {
agent any
stages {
stage('Test') {
stage('build') {
steps {
// withChecks(name: 'Test', includeStage: true) {
echo 'Testing..'
sh './gradlew clean test'
withChecks(name: 'build', includeStage: true) {
sh './gradlew clean testClasses'
}
withChecks(name: 'unit-tests', includeStage: true) {
sh './gradlew test'
}
withChecks(name: 'test-coverage', includeStage: true) {
sh './gradlew jacocoTestReport jacocoTestCoverageVerification'
junit '**/build/test-results/test/TEST-*.xml'
// }
recordCoverage(tools: [[parser: 'JACOCO']],
id: 'jacoco', name: 'JaCoCo Coverage',
sourceCodeRetention: 'EVERY_BUILD'
// , qualityGates: [
// [threshold: 60.0, metric: 'LINE', baseline: 'PROJECT', unstable: true],
// [threshold: 60.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,32 @@ java {
}
}
jacoco {
toolVersion = "0.8.12"
}
tasks.jacocoTestCoverageVerification {
violationRules {
rule {
limit {
minimum = "0.4".toBigDecimal()
}
}
rule {
isEnabled = false
element = "CLASS"
includes = listOf("jenkins.test.*")
limit {
counter = "LINE"
value = "TOTALCOUNT"
maximum = "0.3".toBigDecimal()
}
}
}
}
application {
// Define the main class for the application.
mainClass.set("jenkins.test.App")