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

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


The following commit(s) were added to refs/heads/ignite-9542-new-run-stripe by 
this push:
     new b741ff4  IGNITE-9542 provide separated base/current branch history for 
PR page
b741ff4 is described below

commit b741ff4e21e019a70ad07f9fd7fc3c1a2896e13f
Author: Dmitriy Pavlov <[email protected]>
AuthorDate: Mon Dec 10 18:54:09 2018 +0300

    IGNITE-9542 provide separated base/current branch history for PR page
---
 .../src/main/java/org/apache/ignite/ci/ITeamcity.java   |  7 +++++--
 .../ignite/ci/tcbot/chain/BuildChainProcessor.java      | 10 ++++++++--
 .../org/apache/ignite/ci/tcbot/issue/IssueDetector.java | 17 ++++++++++++++---
 .../org/apache/ignite/ci/user/ICredentialsProv.java     | 17 +++++++++++++----
 .../web/model/current/ChainAtServerCurrentStatus.java   |  7 ++++---
 .../ignite/ci/web/model/current/SuiteCurrentStatus.java | 16 +++++++---------
 .../ignite/ci/tcbot/chain/PrChainsProcessorTest.java    |  8 +++-----
 7 files changed, 54 insertions(+), 28 deletions(-)

diff --git 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/ITeamcity.java 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/ITeamcity.java
index 80ed20d..29f0680 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/ITeamcity.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/ITeamcity.java
@@ -43,12 +43,15 @@ import java.util.concurrent.ExecutorService;
  */
 public interface ITeamcity extends ITeamcityConn {
 
-    String DEFAULT = "<default>";
-    String REFS_HEADS_MASTER = "refs/heads/master";
+    public String DEFAULT = "<default>";
+    public String REFS_HEADS_MASTER = "refs/heads/master";
 
     @Deprecated
     long DEFAULT_BUILDS_COUNT = 1000;
 
+    /** Temporary feature toggle: Use New run stat in PR analysis, issue 
detection. */
+    boolean NEW_RUN_STAT = true;
+
     /** {@inheritDoc} */
     @Override default List<BuildType> getBuildTypes(String projectId) {
         return FutureUtil.getResult(getProjectSuites(projectId));
diff --git 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessor.java
 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessor.java
index 18d68b8..cf6cfc2 100644
--- 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessor.java
+++ 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessor.java
@@ -38,9 +38,9 @@ import java.util.stream.Stream;
 import javax.annotation.Nonnull;
 import javax.inject.Inject;
 import org.apache.ignite.ci.IAnalyticsEnabledTeamcity;
+import org.apache.ignite.ci.ITeamcity;
 import org.apache.ignite.ci.analysis.FullChainRunCtx;
 import org.apache.ignite.ci.analysis.MultBuildRunCtx;
-import org.apache.ignite.ci.analysis.RunStat;
 import org.apache.ignite.ci.analysis.SingleBuildRunCtx;
 import org.apache.ignite.ci.analysis.SuiteInBranch;
 import org.apache.ignite.ci.analysis.mode.LatestRebuildMode;
@@ -49,6 +49,7 @@ import org.apache.ignite.ci.di.AutoProfiling;
 import org.apache.ignite.ci.tcmodel.hist.BuildRef;
 import org.apache.ignite.ci.tcmodel.result.Build;
 import org.apache.ignite.ci.teamcity.ignited.BuildRefCompacted;
+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.SyncMode;
@@ -199,7 +200,12 @@ public class BuildChainProcessor {
             SuiteInBranch key = new SuiteInBranch(ctx.suiteId(), 
RunHistSync.normalizeBranch(failRateBranch));
 
             //todo place RunStat into suite context to compare
-            RunStat runStat = 
teamcity.getBuildFailureRunStatProvider().apply(key);
+            Function<SuiteInBranch, ? extends IRunHistory> provider   =
+                ITeamcity.NEW_RUN_STAT
+                    ? tcIgn::getSuiteRunHist
+                    : teamcity.getBuildFailureRunStatProvider();
+
+            IRunHistory runStat = provider.apply(key);
 
             if (runStat == null)
                 return 0f;
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 41e60ef..1d20936 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
@@ -28,6 +28,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.function.Function;
 import javax.cache.Cache;
 import javax.inject.Inject;
 import javax.inject.Provider;
@@ -35,6 +36,7 @@ import javax.inject.Provider;
 import org.apache.ignite.ci.HelperConfig;
 import org.apache.ignite.ci.IAnalyticsEnabledTeamcity;
 import org.apache.ignite.ci.ITcHelper;
+import org.apache.ignite.ci.ITeamcity;
 import org.apache.ignite.ci.issue.EventTemplate;
 import org.apache.ignite.ci.issue.EventTemplates;
 import org.apache.ignite.ci.issue.Issue;
@@ -47,7 +49,6 @@ import 
org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider;
 import org.apache.ignite.ci.teamcity.ignited.change.ChangeCompacted;
 import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted;
 import org.apache.ignite.ci.teamcity.restcached.ITcServerProvider;
-import org.apache.ignite.ci.analysis.RunStat;
 import org.apache.ignite.ci.analysis.SuiteInBranch;
 import org.apache.ignite.ci.analysis.TestInBranch;
 import org.apache.ignite.ci.tcbot.chain.TrackedBranchChainsProcessor;
@@ -268,7 +269,12 @@ public class IssueDetector {
 
         SuiteInBranch key = new SuiteInBranch(suiteId, normalizeBranch);
 
-        IRunHistory runStat = 
teamcity.getBuildFailureRunStatProvider().apply(key);
+        Function<SuiteInBranch, ? extends IRunHistory> provider   =
+            ITeamcity.NEW_RUN_STAT
+                ? tcIgnited::getSuiteRunHist
+                : teamcity.getBuildFailureRunStatProvider();
+
+        IRunHistory runStat = provider.apply(key);
 
         if (runStat == null)
             return false;
@@ -322,7 +328,12 @@ public class IssueDetector {
         String name = testFailure.name;
         TestInBranch testInBranch = new TestInBranch(name, normalizeBranch);
 
-        IRunHistory runStat = 
teamcity.getTestRunStatProvider().apply(testInBranch);
+        Function<TestInBranch, ? extends IRunHistory> function =
+            ITeamcity.NEW_RUN_STAT
+                ? tcIgnited::getTestRunHist
+                : teamcity.getTestRunStatProvider();
+
+        IRunHistory runStat = function.apply(testInBranch);
 
         if (runStat == null)
             return false;
diff --git 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/user/ICredentialsProv.java
 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/user/ICredentialsProv.java
index 0eca8ed..29e6c5b 100644
--- 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/user/ICredentialsProv.java
+++ 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/user/ICredentialsProv.java
@@ -25,12 +25,21 @@ public interface ICredentialsProv {
     String _KEY = ICredentialsProv.class.getName();
 
     //note it will not work for PermitAll Methods
-    static ICredentialsProv get(HttpServletRequest request) {
-        return (ICredentialsProv) request.getAttribute(_KEY);
+    static ICredentialsProv get(HttpServletRequest req) {
+        return (ICredentialsProv) req.getAttribute(_KEY);
     }
 
-    String getUser(String server);
-    String getPassword(String server);
+    /**
+     * Gets username for particular service
+     * @param srv Server Id.
+     */
+    public String getUser(String srv);
+
+    /**
+     * Gets password for particular service
+     * @param srv Server Id.
+     */
+    public String getPassword(String srv);
 
     default boolean hasAccess(String srvId) {
         return !Strings.isNullOrEmpty(getUser(srvId)) && 
!Strings.isNullOrEmpty(getPassword(srvId));
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 bc8486a..82ee4ec 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
@@ -192,9 +192,10 @@ public class ChainAtServerCurrentStatus {
                 MultBuildRunCtx suite = pairCtxAndOccur.get1();
                 IMultTestOccurrence longRunningOccur = pairCtxAndOccur.get2();
 
-                Function<TestInBranch, ? extends IRunHistory> function = 
SuiteCurrentStatus.NEW_RUN_STAT
-                    ? tcIgnited::getTestRunHist
-                    : tcAnalytics.getTestRunStatProvider();
+                Function<TestInBranch, ? extends IRunHistory> function =
+                    ITeamcity.NEW_RUN_STAT
+                        ? tcIgnited::getTestRunHist
+                        : tcAnalytics.getTestRunStatProvider();
 
                 TestFailure failure = createOrrucForLongRun(tcIgnited, suite, 
tcAnalytics, longRunningOccur,
                     baseBranchTc,
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 07b4673..6c059c8 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
@@ -32,7 +32,6 @@ import org.apache.ignite.ci.ITcAnalytics;
 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.RunStat;
 import org.apache.ignite.ci.analysis.SuiteInBranch;
 import org.apache.ignite.ci.analysis.TestInBranch;
 import org.apache.ignite.ci.analysis.TestLogCheckResult;
@@ -52,8 +51,6 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
  * Represent Suite result
  */
 @SuppressWarnings("WeakerAccess") public class SuiteCurrentStatus extends 
FailureSummary {
-    /** Use New run stat in PR analysis. */
-    public static final boolean NEW_RUN_STAT = true;
 
     /** Suite Name */
     public String name;
@@ -136,14 +133,15 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
         String failRateNormalizedBranch = normalizeBranch(baseBranch);
         String curBranchNormalized = normalizeBranch(suite.branchName());
 
-        Function<TestInBranch, ? extends IRunHistory> testStatProv = 
NEW_RUN_STAT
-            ? tcIgnited::getTestRunHist
-            : tcAnalytics.getTestRunStatProvider();
+        Function<TestInBranch, ? extends IRunHistory> testStatProv =
+            ITeamcity.NEW_RUN_STAT
+                ? tcIgnited::getTestRunHist
+                : tcAnalytics.getTestRunStatProvider();
 
         String suiteId = suite.suiteId();
 
-        Function<SuiteInBranch, ? extends IRunHistory> provider   =
-            NEW_RUN_STAT
+        Function<SuiteInBranch, ? extends IRunHistory> provider =
+            ITeamcity.NEW_RUN_STAT
                 ? tcIgnited::getSuiteRunHist
                 : tcAnalytics.getBuildFailureRunStatProvider();
 
@@ -151,7 +149,7 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
 
         Set<String> collect = 
suite.lastChangeUsers().collect(Collectors.toSet());
 
-        if(!collect.isEmpty())
+        if (!collect.isEmpty())
             userCommits = collect.toString();
 
         result = suite.getResult();
diff --git 
a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessorTest.java
 
b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessorTest.java
index b398f3e..92545d8 100644
--- 
a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessorTest.java
+++ 
b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessorTest.java
@@ -130,7 +130,7 @@ public class PrChainsProcessorTest {
 
         assertTrue(containsTestFailure(blockers, 
TEST_WITH_HISTORY_PASSING_IN_MASTER));
 
-        if (SuiteCurrentStatus.NEW_RUN_STAT) {
+        if (ITeamcity.NEW_RUN_STAT) {
             assertFalse(containsTestFailure(blockers, 
TEST_WITH_HISTORY_FAILING_IN_MASTER));
             assertFalse(containsTestFailure(blockers, TEST_FLAKY_IN_MASTER));
         }
@@ -138,7 +138,7 @@ public class PrChainsProcessorTest {
         Optional<TestFailure> testOpt = findBlockerTestFailure(blockers, 
TEST_WITH_HISTORY_PASSING_IN_MASTER);
         assertTrue(testOpt.isPresent());
 
-        if (SuiteCurrentStatus.NEW_RUN_STAT) {
+        if (ITeamcity.NEW_RUN_STAT) {
             List<Integer> etalon = new ArrayList<>();
             for (int i = 0; i < NUM_OF_TESTS_IN_MASTER; i++)
                 etalon.add(RunStat.RunStatus.RES_OK.getCode());
@@ -147,7 +147,7 @@ public class PrChainsProcessorTest {
         }
 
         assertTrue(containsTestFailure(blockers, TEST_WAS_FIXED_IN_MASTER));
-        if(SuiteCurrentStatus.NEW_RUN_STAT)
+        if(ITeamcity.NEW_RUN_STAT)
             assertFalse(containsTestFailure(blockers, 
TEST_WITH_HISTORY_FAILING_IN_MASTER));
         // otherwise this non-blocker will not be filtered out
 
@@ -439,8 +439,6 @@ public class PrChainsProcessorTest {
         }
     }
 
-
-
     @Test
     public void testTemplateDetectionInBranch() {
         IStringCompactor c = injector.getInstance(IStringCompactor.class);

Reply via email to