ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dpav...@apache.org
Subject [ignite-teamcity-bot] branch ignite-11853 updated: IGNITE-11853: Links fixed for tests failures, trusted suites development, filtering old issues, filtering disabled issues
Date Thu, 16 May 2019 14:44:36 GMT
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/ignite-11853 by this push:
     new c9c503c  IGNITE-11853: Links fixed for tests failures, trusted suites development,
filtering old issues, filtering disabled issues
c9c503c is described below

commit c9c503c0007cc4918f04f68247e07f621aab9357
Author: Dmitriy Pavlov <dpavlov@apache.org>
AuthorDate: Thu May 16 17:44:30 2019 +0300

    IGNITE-11853: Links fixed for tests failures, trusted suites development, filtering old
issues, filtering disabled issues
---
 .../apache/ignite/ci/analysis/MultBuildRunCtx.java | 25 +++++++++-
 .../ignite/ci/tcbot/chain/PrChainsProcessor.java   |  5 +-
 .../tcbot/chain/TrackedBranchChainsProcessor.java  |  5 +-
 .../ignite/ci/tcbot/issue/IssueDetector.java       |  2 -
 .../model/current/ChainAtServerCurrentStatus.java  |  5 +-
 .../ci/web/model/current/SuiteCurrentStatus.java   | 57 ++++++++++++----------
 .../ignite/ci/web/rest/GetChainResultsAsHtml.java  |  3 +-
 .../ci/web/rest/build/GetBuildTestFailures.java    |  3 +-
 .../rest/tracked/GetTrackedBranchTestResults.java  |  1 -
 .../src/main/webapp/js/testfails-2.1.js            | 10 +++-
 10 files changed, 77 insertions(+), 39 deletions(-)

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 cd56ec5..c646347 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
@@ -35,7 +35,9 @@ import javax.annotation.Nonnull;
 import org.apache.ignite.ci.tcmodel.hist.BuildRef;
 import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence;
 import org.apache.ignite.ci.tcmodel.result.stat.Statistics;
+import org.apache.ignite.ci.teamcity.ignited.IRunHistory;
 import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
+import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
 import org.apache.ignite.ci.teamcity.ignited.change.ChangeCompacted;
 import org.apache.ignite.ci.teamcity.ignited.fatbuild.ProblemCompacted;
 import org.apache.ignite.ci.teamcity.ignited.fatbuild.TestCompacted;
@@ -107,8 +109,7 @@ public class MultBuildRunCtx implements ISuiteResults {
         return buildsStream().allMatch(bCtx -> !bCtx.isComposite() && bCtx.isCancelled());
     }
 
-    @NotNull
-    private Stream<ProblemCompacted> allProblemsInAllBuilds() {
+    @NotNull public Stream<ProblemCompacted> allProblemsInAllBuilds() {
         return buildsStream().flatMap(SingleBuildRunCtx::getProblemsStream);
     }
 
@@ -461,4 +462,24 @@ public class MultBuildRunCtx implements ISuiteResults {
     public Set<String> tags() {
         return buildsStream().flatMap(b -> b.tags().stream()).collect(Collectors.toSet());
     }
+
+    @NotNull public String getPossibleBlockerComment(ITeamcityIgnited tcIgnited,
+        @Nonnull IStringCompactor compactor,
+        IRunHistory baseBranchHist) {
+        StringBuilder res = new StringBuilder();
+
+        if(hasAnyBuildProblemExceptTestOrSnapshot() && tcIgnited.config().trustedSuites().contains(suiteId()))
{
+            res.append("Suite is trusted but has build problems");
+
+            res.append(" [").append(allProblemsInAllBuilds()
+                .filter(p -> !p.isFailedTests(compactor) && !p.isSnapshotDepProblem(compactor))
+                .map(p -> p.type(compactor)).distinct().collect(Collectors.joining(",
"))).append("]");
+
+            res.append(" Base branch fail rate is ");
+            res.append(baseBranchHist.getFailPercentPrintable());
+            res.append("%");
+        }
+
+        return res.toString();
+    }
 }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java
index 1be01b3..47221be 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java
@@ -37,6 +37,7 @@ import org.apache.ignite.ci.jira.ignited.IJiraIgnited;
 import org.apache.ignite.ci.jira.ignited.IJiraIgnitedProvider;
 import org.apache.ignite.ci.tcbot.visa.BranchTicketMatcher;
 import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence;
+import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
 import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
 import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider;
 import org.apache.ignite.ci.teamcity.ignited.SyncMode;
@@ -73,6 +74,8 @@ public class PrChainsProcessor {
 
     @Inject private BranchTicketMatcher ticketMatcher;
 
+    @Inject private IStringCompactor compactor;
+
     /**
      * @param creds Credentials.
      * @param srvCode Server id.
@@ -157,7 +160,7 @@ public class PrChainsProcessor {
                 runningUpdates.addAndGet(cnt0);
 
             //fail rate reference is always default (master)
-            chainStatus.initFromContext(tcIgnited, ctx, baseBranch);
+            chainStatus.initFromContext(tcIgnited, ctx, baseBranch, compactor);
 
             chainStatus.initJiraAndGitInfo(ticketMatcher, jiraIntegration, gitHubConnIgnited);
         }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java
index 4ce6e65..9e57a67 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java
@@ -28,6 +28,7 @@ import org.apache.ignite.ci.tcbot.conf.BranchTracked;
 import org.apache.ignite.ci.di.AutoProfiling;
 import org.apache.ignite.ci.tcbot.conf.ITcBotConfig;
 import org.apache.ignite.ci.tcbot.conf.TcServerConfig;
+import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
 import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
 import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider;
 import org.apache.ignite.ci.teamcity.ignited.SyncMode;
@@ -57,6 +58,8 @@ public class TrackedBranchChainsProcessor {
     /** Chains processor. */
     @Inject private BuildChainProcessor chainProc;
 
+    @Inject private IStringCompactor compactor;
+
     @AutoProfiling
     @NotNull
     public TestFailuresSummary getTrackedBranchTestFailures(
@@ -119,7 +122,7 @@ public class TrackedBranchChainsProcessor {
                 if (cnt > 0)
                     runningUpdates.addAndGet(cnt);
 
-                chainStatus.initFromContext(tcIgnited, ctx, baseBranchTc);
+                chainStatus.initFromContext(tcIgnited, ctx, baseBranchTc, compactor);
 
                 return chainStatus;
             })
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java
index aadcfc8..9c3a32b 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java
@@ -25,7 +25,6 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Optional;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
@@ -46,7 +45,6 @@ import org.apache.ignite.ci.jobs.CheckQueueJob;
 import org.apache.ignite.ci.mail.EmailSender;
 import org.apache.ignite.ci.mail.SlackSender;
 import org.apache.ignite.ci.tcbot.chain.TrackedBranchChainsProcessor;
-import org.apache.ignite.ci.tcbot.conf.BranchTracked;
 import org.apache.ignite.ci.tcbot.conf.INotificationChannel;
 import org.apache.ignite.ci.tcbot.conf.ITcBotConfig;
 import org.apache.ignite.ci.tcbot.conf.ITcServerConfig;
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
index 0fb16e6..7dc90e8 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
@@ -34,6 +34,7 @@ import org.apache.ignite.ci.github.pure.IGitHubConnection;
 import org.apache.ignite.ci.jira.ignited.IJiraIgnited;
 import org.apache.ignite.ci.tcbot.visa.BranchTicketMatcher;
 import org.apache.ignite.ci.tcmodel.conf.BuildType;
+import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
 import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
 import org.apache.ignite.ci.util.CollectionUtil;
 import org.apache.ignite.internal.util.typedef.T2;
@@ -166,7 +167,7 @@ public class ChainAtServerCurrentStatus {
 
     public void initFromContext(ITeamcityIgnited tcIgnited,
         FullChainRunCtx ctx,
-        @Nullable String baseBranchTc) {
+        @Nullable String baseBranchTc, IStringCompactor compactor) {
         failedTests = 0;
         failedToFinish = 0;
         //todo mode with not failed
@@ -176,7 +177,7 @@ public class ChainAtServerCurrentStatus {
             suite -> {
                 final SuiteCurrentStatus suiteCurStatus = new SuiteCurrentStatus();
 
-                suiteCurStatus.initFromContext(tcIgnited, suite, baseBranchTc);
+                suiteCurStatus.initFromContext(tcIgnited, suite, baseBranchTc, compactor);
 
                 failedTests += suiteCurStatus.failedTests;
                 if (suite.hasAnyBuildProblemExceptTestOrSnapshot() || suite.onlyCancelledBuilds())
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 d8e0c61..5177945 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
@@ -29,7 +29,6 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
-import org.apache.ignite.ci.ITeamcity;
 import org.apache.ignite.ci.analysis.IMultTestOccurrence;
 import org.apache.ignite.ci.analysis.MultBuildRunCtx;
 import org.apache.ignite.ci.analysis.SuiteInBranch;
@@ -38,6 +37,7 @@ import org.apache.ignite.ci.analysis.TestLogCheckResult;
 import org.apache.ignite.ci.issue.EventTemplates;
 import org.apache.ignite.ci.issue.ProblemRef;
 import org.apache.ignite.ci.teamcity.ignited.IRunHistory;
+import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
 import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
 import org.apache.ignite.ci.web.model.hist.FailureSummary;
 import org.apache.ignite.ci.web.rest.GetBuildLog;
@@ -126,23 +126,25 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
      */
     @Nullable public ProblemRef problemRef;
 
-    /** Possible blocker: filled for PR and builds checks, mean there was stable execution
in master, but */
-    public Boolean possibleBlocker;
-
     public Set<String> tags = new HashSet<>();
 
+    /**
+     * Possible blocker comment: filled for PR and builds checks, non null value contains
problem explanation
+     * displayable.
+     */
+    @Nullable public String blockerComment;
+
     public void initFromContext(ITeamcityIgnited tcIgnited,
         @Nonnull final MultBuildRunCtx suite,
-        @Nullable final String baseBranch) {
+        @Nullable final String baseBranch,
+        @Nonnull IStringCompactor compactor) {
 
         name = suite.suiteName();
 
         String failRateNormalizedBranch = normalizeBranch(baseBranch);
         String curBranchNormalized = normalizeBranch(suite.branchName());
 
-        String suiteId = suite.suiteId();
-
-        initSuiteStat(tcIgnited, failRateNormalizedBranch, curBranchNormalized, suiteId);
+        IRunHistory baseBranchHist = initSuiteStat(tcIgnited, failRateNormalizedBranch, curBranchNormalized,
suite.suiteId());
 
         Set<String> collect = suite.lastChangeUsers().collect(Collectors.toSet());
 
@@ -223,36 +225,35 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
         serverId = tcIgnited.serverId();
         this.suiteId = suite.suiteId();
         branchName = branchForLink(suite.branchName());
-        // todo implement this logic in suite possibleBlocker = suite.hasPossibleBlocker();
 
         tags = suite.tags();
+
+        blockerComment = suite.getPossibleBlockerComment(tcIgnited, compactor, baseBranchHist);
     }
 
-    private void initSuiteStat(ITeamcityIgnited tcIgnited,
+    private IRunHistory initSuiteStat(ITeamcityIgnited tcIgnited,
         String failRateNormalizedBranch,
         String curBranchNormalized,
         String suiteId) {
         if (Strings.isNullOrEmpty(suiteId))
-            return;
+            return null;
 
-        SuiteInBranch key = new SuiteInBranch(suiteId, failRateNormalizedBranch);
+        final IRunHistory statInBaseBranch = tcIgnited.getSuiteRunHist(new SuiteInBranch(suiteId,
failRateNormalizedBranch));
 
-        final IRunHistory stat = tcIgnited.getSuiteRunHist(key);
+        if (statInBaseBranch != null) {
+            failures = statInBaseBranch.getFailuresCount();
+            runs = statInBaseBranch.getRunsCount();
+            failureRate = statInBaseBranch.getFailPercentPrintable();
 
-        if (stat != null) {
-            failures = stat.getFailuresCount();
-            runs = stat.getRunsCount();
-            failureRate = stat.getFailPercentPrintable();
-
-            criticalFails.failures = stat.getCriticalFailuresCount();
+            criticalFails.failures = statInBaseBranch.getCriticalFailuresCount();
             criticalFails.runs = runs;
-            criticalFails.failureRate = stat.getCriticalFailPercentPrintable();
+            criticalFails.failureRate = statInBaseBranch.getCriticalFailPercentPrintable();
 
-            failsAllHist.failures = stat.getFailuresAllHist();
-            failsAllHist.runs = stat.getRunsAllHist();
-            failsAllHist.failureRate = stat.getFailPercentAllHistPrintable();
+            failsAllHist.failures = statInBaseBranch.getFailuresAllHist();
+            failsAllHist.runs = statInBaseBranch.getRunsAllHist();
+            failsAllHist.failureRate = statInBaseBranch.getFailPercentAllHistPrintable();
 
-            latestRuns = stat.getLatestRunResults();
+            latestRuns = statInBaseBranch.getLatestRunResults();
         }
 
         IRunHistory latestRunsSrc = null;
@@ -265,7 +266,7 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
             latestRuns = statForStripe != null ? statForStripe.getLatestRunResults() : null;
         }
         else
-            latestRunsSrc = stat;
+            latestRunsSrc = statInBaseBranch;
 
         if (latestRunsSrc != null) {
             if (latestRunsSrc.detectTemplate(EventTemplates.newFailureForFlakyTest) != null)
@@ -274,6 +275,8 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
             if (latestRunsSrc.detectTemplate(EventTemplates.newCriticalFailure) != null)
                 problemRef = new ProblemRef("New Critical Failure");
         }
+
+        return statInBaseBranch;
     }
 
     @NotNull
@@ -374,7 +377,7 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
             Objects.equals(testsDurationPrintable, status.testsDurationPrintable) &&
             Objects.equals(lostInTimeouts, status.lostInTimeouts) &&
             Objects.equals(problemRef, status.problemRef) &&
-            Objects.equals(possibleBlocker, status.possibleBlocker);
+            Objects.equals(blockerComment, status.blockerComment);
     }
 
     /** {@inheritDoc} */
@@ -384,7 +387,7 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
             runningBuildCount, queuedBuildCount, serverId, suiteId, branchName, failsAllHist,
criticalFails, latestRuns,
             userCommits, failedTests, durationPrintable, durationNetTimePrintable, sourceUpdateDurationPrintable,
             artifcactPublishingDurationPrintable, dependeciesResolvingDurationPrintable,
testsDurationPrintable,
-            lostInTimeouts, problemRef, possibleBlocker);
+            lostInTimeouts, problemRef, blockerComment);
     }
 
     /** {@inheritDoc} */
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java
index dc385f5..bb4ae26 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java
@@ -35,6 +35,7 @@ import org.apache.ignite.ci.ITeamcity;
 import org.apache.ignite.ci.analysis.FullChainRunCtx;
 import org.apache.ignite.ci.analysis.mode.LatestRebuildMode;
 import org.apache.ignite.ci.analysis.mode.ProcessLogsMode;
+import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
 import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
 import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider;
 import org.apache.ignite.ci.teamcity.ignited.SyncMode;
@@ -92,7 +93,7 @@ public class GetChainResultsAsHtml {
 
         status.chainName = ctx.suiteName();
 
-        status.initFromContext(tcIgn, ctx, failRateBranch);
+        status.initFromContext(tcIgn, ctx, failRateBranch, injector.getInstance(IStringCompactor.class));
 
         res.append(showChainAtServerData(status));
 
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java
index bdc12ad..055d4df 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java
@@ -23,6 +23,7 @@ import java.text.ParseException;
 import com.google.inject.Injector;
 import org.apache.ignite.ci.tcbot.conf.ITcBotConfig;
 import org.apache.ignite.ci.tcbot.trends.MasterTrendsService;
+import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
 import org.apache.ignite.ci.teamcity.ignited.SyncMode;
 import org.apache.ignite.ci.teamcity.ignited.buildcondition.BuildCondition;
 import org.apache.ignite.ci.tcbot.chain.BuildChainProcessor;
@@ -144,7 +145,7 @@ public class GetBuildTestFailures {
         if (cnt > 0)
             runningUpdates.addAndGet(cnt);
 
-        chainStatus.initFromContext(tcIgnited, ctx, failRateBranch);
+        chainStatus.initFromContext(tcIgnited, ctx, failRateBranch, injector.getInstance(IStringCompactor.class));
 
         res.addChainOnServer(chainStatus);
 
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java
index 04b2936..a344b5a 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java
@@ -37,7 +37,6 @@ import org.apache.ignite.ci.user.ICredentialsProv;
 import org.apache.ignite.ci.web.CtxListener;
 import org.apache.ignite.ci.web.model.current.TestFailuresSummary;
 import org.apache.ignite.ci.web.model.current.UpdateInfo;
-import org.apache.ignite.ci.web.rest.exception.ServiceUnauthorizedException;
 import org.apache.ignite.ci.web.rest.parms.FullQueryParams;
 import org.apache.ignite.internal.util.typedef.F;
 import org.jetbrains.annotations.NotNull;
diff --git a/ignite-tc-helper-web/src/main/webapp/js/testfails-2.1.js b/ignite-tc-helper-web/src/main/webapp/js/testfails-2.1.js
index 04ace45..5c54dfb 100644
--- a/ignite-tc-helper-web/src/main/webapp/js/testfails-2.1.js
+++ b/ignite-tc-helper-web/src/main/webapp/js/testfails-2.1.js
@@ -266,7 +266,7 @@ function showChainCurrentStatusData(chain, settings) {
         //     res+="<br>";
 
         if (settings.isJiraAvailable())
-            res+="<br>";
+            res += "<br>";
 
         res += "Base branch";
         res += ": " + chain.baseBranchForTc.replace(/&/g, "&amp;").replace(/</g,
"&lt;").replace(/>/g, "&gt;");
@@ -336,6 +336,10 @@ function addBlockersData(server, settings) {
  */
 function suiteWithCriticalFailuresOnly(suite) {
     var suite0 = Object.assign({}, suite);
+
+    if(isDefinedAndFilled(suite.blockerComment) && suite.blockerComment!=="")
+        return suite0;
+
     var j = 0;
 
     suite0.testFailures = suite0.testFailures.slice();
@@ -632,6 +636,10 @@ function showSuiteData(suite, settings, prNum) {
         }
     }
 
+    if(isDefinedAndFilled(suite.blockerComment) && suite.blockerComment!=="") {
+        res += "<span title='"+ suite.blockerComment +"'> &#x1f6ab;</span>
"
+    }
+
     if(isDefinedAndFilled(suite.problemRef)) {
         res += "<span title='"+ suite.problemRef.name +"'>&#128030;</span>
"
     }


Mime
View raw message