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);