You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by GitBox <gi...@apache.org> on 2018/11/20 14:43:41 UTC

[GitHub] asfgit closed pull request #75: IGNITE-10319 Suite compilation error failure handling added

asfgit closed pull request #75: IGNITE-10319 Suite compilation error failure handling added
URL: https://github.com/apache/ignite-teamcity-bot/pull/75
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
index c7f0e11a..3d392371 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
@@ -578,7 +578,8 @@ private Build realLoadBuild(String href1) {
 
     private void registerCriticalBuildProblemInStat(BuildRef build, ProblemOccurrences problems) {
         boolean criticalFail = problems.getProblemsNonNull().stream().anyMatch(occurrence ->
-            occurrence.isExecutionTimeout() || occurrence.isJvmCrash() || occurrence.isFailureOnMetric());
+            occurrence.isExecutionTimeout() || occurrence.isJvmCrash() || occurrence.isFailureOnMetric()
+                || occurrence.isCompilationError());
 
         String suiteId = build.suiteId();
         Integer buildId = build.getId();
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/ISuiteResults.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/ISuiteResults.java
index 0d1b1755..ad2df5cf 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/ISuiteResults.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/ISuiteResults.java
@@ -21,6 +21,9 @@
  * Results from one or several builds for specific build type.
  */
 public interface ISuiteResults {
+    /** */
+    boolean hasCompilationProblem();
+
     boolean hasTimeoutProblem();
 
     boolean hasJvmCrashProblem();
@@ -30,14 +33,15 @@
     boolean hasExitCodeProblem();
 
     default boolean hasCriticalProblem() {
-        return hasJvmCrashProblem() || hasTimeoutProblem();
+        return hasJvmCrashProblem() || hasTimeoutProblem() || hasCompilationProblem();
     }
 
     default boolean hasSuiteIncompleteFailure() {
         return hasJvmCrashProblem()
             || hasTimeoutProblem()
             || hasOomeProblem()
-            || hasExitCodeProblem();
+            || hasExitCodeProblem()
+            || hasCompilationProblem();
     }
 
     String suiteId();
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java
index 10b20fce..c6c203a7 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java
@@ -111,6 +111,16 @@ public boolean onlyCancelledBuilds() {
         return builds;
     }
 
+    /** {@inheritDoc} */
+    @Override public boolean hasCompilationProblem() {
+        return getCompilationProblemCount() > 0;
+    }
+
+    /** */
+    public long getCompilationProblemCount() {
+        return buildsStream().filter(ISuiteResults::hasCompilationProblem).count();
+    }
+
     public boolean hasTimeoutProblem() {
         return getExecutionTimeoutCount() > 0;
     }
@@ -172,11 +182,13 @@ public String getResult() {
         addKnownProblemCnt(res, "JVM CRASH", getJvmCrashProblemCount());
         addKnownProblemCnt(res, "Out Of Memory Error", getOomeProblemCount());
         addKnownProblemCnt(res, "Exit Code", getExitCodeProblemsCount());
+        addKnownProblemCnt(res, "Compilation Error", getCompilationProblemCount());
 
         {
             Stream<ProblemCompacted> stream =
                 allProblemsInAllBuilds().filter(p ->
                     !p.isFailedTests(compactor)
+                        && !p.isCompilationError(compactor)
                         && !p.isSnapshotDepProblem(compactor)
                         && !p.isExecutionTimeout(compactor)
                         && !p.isJvmCrash(compactor)
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/SingleBuildRunCtx.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/SingleBuildRunCtx.java
index 942d8903..8cdb7b16 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/SingleBuildRunCtx.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/SingleBuildRunCtx.java
@@ -68,6 +68,11 @@ public Integer buildId() {
         return buildCompacted.id() < 0 ? null : buildCompacted.id();
     }
 
+    /** {@inheritDoc} */
+    @Override public boolean hasCompilationProblem() {
+        return getProblemsStream().anyMatch(p -> p.isCompilationError(compactor));
+    }
+
     public boolean hasTimeoutProblem() {
         return getExecutionTimeoutCount() > 0;
     }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/problems/ProblemOccurrence.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/problems/ProblemOccurrence.java
index 712c9dde..eee412a1 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/problems/ProblemOccurrence.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/problems/ProblemOccurrence.java
@@ -38,6 +38,9 @@
     public static final String SNAPSHOT_DEPENDENCY_ERROR_BUILD_PROCEEDS_TYPE = "SNAPSHOT_DEPENDENCY_ERROR_BUILD_PROCEEDS_TYPE";
     public static final String SNAPSHOT_DEPENDENCY_ERROR = "SNAPSHOT_DEPENDENCY_ERROR";
 
+    /** */
+    public static final String TC_COMPILATION_ERROR = "TC_COMPILATION_ERROR";
+
     /** Java level deadlock: Detected by log processing, not by teamcity */
     public static final String JAVA_LEVEL_DEADLOCK = "JAVA_LEVEL_DEADLOCK";
 
@@ -51,6 +54,11 @@
      */
     @Nullable public BuildRef buildRef;
 
+    /** */
+    public boolean isCompilationError() {
+        return TC_COMPILATION_ERROR.equals(type);
+    }
+
     /** */
     public boolean isFailureOnMetric() {
         return BUILD_FAILURE_ON_METRIC.equals(type);
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProblemCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProblemCompacted.java
index 9340682f..7a800e3e 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProblemCompacted.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProblemCompacted.java
@@ -119,6 +119,11 @@ public int hashCode() {
         return Objects.hashCode(id, type, identity, actualBuildId);
     }
 
+    /** */
+    public boolean isCompilationError(IStringCompactor compactor) {
+        return compactor.getStringId(ProblemOccurrence.TC_COMPILATION_ERROR) == type;
+    }
+
     public boolean isExecutionTimeout(IStringCompactor compactor) {
         return compactor.getStringId(ProblemOccurrence.TC_EXECUTION_TIMEOUT) == type;
     }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java
index 9e647115..bce90d20 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java
@@ -57,7 +57,7 @@
     /** Suite Run Result (filled if failed): Summary of build problems, count of tests, etc. */
     public String result;
 
-    /** Has critical problem: Timeout or JMV Crash */
+    /** Has critical problem: Timeout, JMV Crash or Compilation Error*/
     @Nullable public Boolean hasCriticalProblem;
 
     /** Web Href. to suite runs history */


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services