Compare commits

..

3 Commits

Author SHA1 Message Date
171672088d Merge pull request 'fix/pipeline' (#23) from fix/pipeline into master
All checks were successful
JaCoCo Coverage #### Project Overview No changes detected, that affect the code coverage. * Line Coverage: 50.00% (2/4) * Lines of Code: 4 * Cyclomatic Complexity: 3 #### Quality Gates Summary Overall result: Success Output truncated.
Test / Build passed: 1
Reviewed-on: #23
2025-02-20 08:53:29 +00:00
19d88dab4b
Merge branch 'master' into fix/pipeline
All checks were successful
JaCoCo Coverage #### Project Overview No changes detected, that affect the code coverage. * Line Coverage: 50.00% (2/4) * Lines of Code: 4 * Cyclomatic Complexity: 3 #### Quality Gates Summary Overall result: Success Output truncated.
Test / Build passed: 1
2025-02-20 08:51:13 +00:00
b3472f9a50
fix pipeline
All checks were successful
JaCoCo Coverage #### Project Overview No changes detected, that affect the code coverage. * Line Coverage: 50.00% (2/4) * Lines of Code: 4 * Cyclomatic Complexity: 3 #### Quality Gates Summary Overall result: Success Output truncated.
Test / Build passed: 1
2025-02-20 08:43:38 +00:00
3 changed files with 76 additions and 10 deletions

45
Jenkinsfile vendored
View File

@ -2,16 +2,45 @@ pipeline {
agent any agent any
stages { stages {
stage('Test') { stage('Build') {
steps { steps {
// withChecks(name: 'Test', includeStage: true) { withChecks(name: 'Test', includeStage: true) {
echo 'Testing..' withGradle {
sh './gradlew clean test' sh """
junit '**/build/test-results/test/TEST-*.xml' ./gradlew clean test jacocoTestReport jacocoTestCoverageVerification --no-daemon
// } """
}
recordCoverage(tools: [[parser: 'JACOCO', pattern: '**/build/reports/jacoco/test/jacoco*.xml']],
id: 'jacoco',
name: 'JaCoCo Coverage',
sourceCodeRetention: 'EVERY_BUILD',
qualityGates: [
[threshold: 40.0, metric: 'CLASS', baseline: 'PROJECT', unstable: true],
[threshold: 40.0, metric: 'METHOD', baseline: 'PROJECT', unstable: true],
[threshold: 40.0, metric: 'LINE', baseline: 'PROJECT', unstable: true],
[threshold: 40.0, metric: 'INSTRUCTION', baseline: 'PROJECT', unstable: true],
[threshold: 40.0, metric: 'BRANCH', baseline: 'PROJECT', unstable: true]])
junit testResults: '**/build/test-results/test/TEST-*.xml'
} }
} }
} // Test
stage('Reports') {
steps {
script {
// archiveArtifacts artifacts: '**/coverage-sources.zip', allowEmptyArchive: false, fingerprint: false, onlyIfSuccessful: false
publishHTML (target: [
allowMissing: true,
alwaysLinkToLastBuild: false,
keepAll: true,
reportDir: 'app/build/reports/jacoco/test/html',
reportFiles: 'index.html',
reportName: 'Coverage Report'
])
// def pmd = scanForIssues tool: [$class: 'Pmd'], pattern: 'lib/build/reports/pmd/*.xml'
// publishIssues issues: [pmd]
}
}
} // Reports
} }
} }

View File

@ -0,0 +1 @@
[SIMPLE TEST FOR JENKINS]

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,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.2".toBigDecimal()
// }
// }
//
// rule {
// isEnabled = false
// 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")