From 22375c8096ac4af6ae8a087bbaf9d011ee008913 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Wed, 13 Jan 2021 14:32:07 +0100 Subject: [PATCH] Do not abort on failing test, if we run on ci server --- .../com/cloudogu/scm/JavaModulePlugin.groovy | 19 +++++++++++++++++++ build.gradle | 13 +++++++++++++ scm-core/build.gradle | 3 --- scm-dao-xml/build.gradle | 4 ---- scm-it/build.gradle | 2 ++ scm-ui/build.gradle | 1 + scm-webapp/build.gradle | 6 ------ 7 files changed, 35 insertions(+), 13 deletions(-) diff --git a/build-plugins/src/main/groovy/com/cloudogu/scm/JavaModulePlugin.groovy b/build-plugins/src/main/groovy/com/cloudogu/scm/JavaModulePlugin.groovy index 37ff3c4172..ced1800590 100644 --- a/build-plugins/src/main/groovy/com/cloudogu/scm/JavaModulePlugin.groovy +++ b/build-plugins/src/main/groovy/com/cloudogu/scm/JavaModulePlugin.groovy @@ -57,6 +57,25 @@ class JavaModulePlugin implements Plugin { failOnError false } + project.afterEvaluate { + if (project.isCI) { + project.plugins.apply("jacoco") + project.jacocoTestReport { + reports { + xml.enabled true + } + } + } + + project.test { + useJUnitPlatform() + if (project.isCI){ + ignoreFailures = true + finalizedBy project.jacocoTestReport + } + } + } + project.publishing { publications { mavenJava(MavenPublication) { diff --git a/build.gradle b/build.gradle index a6b913594e..afd4ea71be 100644 --- a/build.gradle +++ b/build.gradle @@ -144,6 +144,8 @@ project.ext { VersionNumber v = VersionNumber.parse(project.version) nextSnapshotVersion = "${v.major}.${v.minor}.${v.micro + 1}-SNAPSHOT" + + isCI = isRunningOnCiServer() } publishing { @@ -168,6 +170,17 @@ publishing { } } +// determine if we run on ci +def isRunningOnCiServer() { + return isEnvAvailable("JENKINS_URL") && isEnvAvailable("BUILD_ID") +} + +def isEnvAvailable(String key) { + String value = System.getenv(key) + return value != null && !value.trim().isEmpty() +} + + // release related tasks task setVersion { diff --git a/scm-core/build.gradle b/scm-core/build.gradle index 2d4b76d497..64233e535e 100644 --- a/scm-core/build.gradle +++ b/scm-core/build.gradle @@ -122,6 +122,3 @@ jar { dependsOn 'build-info' } -test { - useJUnitPlatform() -} diff --git a/scm-dao-xml/build.gradle b/scm-dao-xml/build.gradle index 24c18c8c30..45a1d012e0 100644 --- a/scm-dao-xml/build.gradle +++ b/scm-dao-xml/build.gradle @@ -37,7 +37,3 @@ dependencies { compileOnly libraries.lombok annotationProcessor libraries.lombok } - -test { - useJUnitPlatform() -} diff --git a/scm-it/build.gradle b/scm-it/build.gradle index c7d57edea1..6f1465b368 100644 --- a/scm-it/build.gradle +++ b/scm-it/build.gradle @@ -76,6 +76,7 @@ test { task javaIntegrationTests(type: Test) { include '**/*ITCase.class' exclude '**/*Test.class' + ignoreFailures = project.isCI dependsOn 'test', 'startScmServer' mustRunAfter 'startScmServer' @@ -90,6 +91,7 @@ node { task e2eTests(type: YarnTask) { args = ['run', 'e2e-tests'] + ignoreExitValue = project.isCI mustRunAfter 'startScmServer' dependsOn 'yarn_install', 'startScmServer' } diff --git a/scm-ui/build.gradle b/scm-ui/build.gradle index 36c043dee7..73222c1b23 100644 --- a/scm-ui/build.gradle +++ b/scm-ui/build.gradle @@ -66,6 +66,7 @@ task test(type: YarnTask) { }) .withPathSensitivity(PathSensitivity.RELATIVE) outputs.dir('build/jest-reports') + ignoreExitValue = project.isCI dependsOn('yarn_install') } diff --git a/scm-webapp/build.gradle b/scm-webapp/build.gradle index 85c33931d3..ac60be27f1 100644 --- a/scm-webapp/build.gradle +++ b/scm-webapp/build.gradle @@ -201,9 +201,3 @@ fix java.lang.NoClassDefFoundError org/w3c/dom/ElementTraversal 1.4.01 **/ - -test { - useJUnitPlatform() - // TODO integration tests - exclude '**/*ITCase.class' -}