You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2018/11/20 14:43:34 UTC

[ignite-teamcity-bot] branch master updated: IGNITE-10319 Suite compilation error failure handling added - Fixes #75.

This is an automated email from the ASF dual-hosted git repository.

dpavlov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git


The following commit(s) were added to refs/heads/master by this push:
     new 6e377be  IGNITE-10319 Suite compilation error failure handling added - Fixes #75.
6e377be is described below

commit 6e377be576c108aa21342ddf961e329e0b9d0775
Author: ololo3000 <pm...@gmail.com>
AuthorDate: Tue Nov 20 17:43:27 2018 +0300

    IGNITE-10319 Suite compilation error failure handling added - Fixes #75.
    
    Signed-off-by: Dmitriy Pavlov <dp...@apache.org>
---
 .../java/org/apache/ignite/ci/IgnitePersistentTeamcity.java  |  3 ++-
 .../java/org/apache/ignite/ci/analysis/ISuiteResults.java    |  8 ++++++--
 .../java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java  | 12 ++++++++++++
 .../org/apache/ignite/ci/analysis/SingleBuildRunCtx.java     |  5 +++++
 .../ignite/ci/tcmodel/result/problems/ProblemOccurrence.java |  8 ++++++++
 .../ci/teamcity/ignited/fatbuild/ProblemCompacted.java       |  5 +++++
 .../ignite/ci/web/model/current/SuiteCurrentStatus.java      |  2 +-
 7 files changed, 39 insertions(+), 4 deletions(-)

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 c7f0e11..3d39237 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 @@ public class IgnitePersistentTeamcity implements IAnalyticsEnabledTeamcity, ITea
 
     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 0d1b175..ad2df5c 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 @@ package org.apache.ignite.ci.analysis;
  * Results from one or several builds for specific build type.
  */
 public interface ISuiteResults {
+    /** */
+    boolean hasCompilationProblem();
+
     boolean hasTimeoutProblem();
 
     boolean hasJvmCrashProblem();
@@ -30,14 +33,15 @@ public interface ISuiteResults {
     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 53827ff..2e55f62 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
@@ -116,6 +116,16 @@ public class MultBuildRunCtx implements ISuiteResults {
         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;
     }
@@ -177,11 +187,13 @@ public class MultBuildRunCtx implements ISuiteResults {
         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 2e5b104..441297c 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 class SingleBuildRunCtx implements ISuiteResults {
         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 712c9dd..eee412a 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 class ProblemOccurrence {
     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";
 
@@ -52,6 +55,11 @@ public class ProblemOccurrence {
     @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 9340682..7a800e3 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 class ProblemCompacted {
         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 ed66b76..2216edc 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 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
     /** 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 */