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/10/27 12:45:07 UTC
[ignite-teamcity-bot] branch master updated: IGNITE-9848: Composite
builds display fixed
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 3e753de IGNITE-9848: Composite builds display fixed
3e753de is described below
commit 3e753de2600a0e75a637a17f749f73124f49c2f4
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Sat Oct 27 15:45:06 2018 +0300
IGNITE-9848: Composite builds display fixed
---
.../apache/ignite/ci/analysis/MultBuildRunCtx.java | 2 +-
.../ignite/ci/analysis/SingleBuildRunCtx.java | 18 +++++---
.../ignite/ci/tcbot/chain/BuildChainProcessor.java | 48 +++++++++++-----------
3 files changed, 38 insertions(+), 30 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 34da5c7..6f18130 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
@@ -397,7 +397,7 @@ public class MultBuildRunCtx implements ISuiteResults {
}
/**
- * @return Set of tests.
+ * @return Set of tests (both for composite and regular)
*/
public Set<String> tests() {
return buildsStream().flatMap(SingleBuildRunCtx::getAllTestNames).collect(Collectors.toSet());
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 7de870f..f34a53d 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
@@ -19,10 +19,8 @@ package org.apache.ignite.ci.analysis;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+
+import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Future;
import java.util.stream.Stream;
@@ -31,6 +29,7 @@ import org.apache.ignite.ci.tcmodel.changes.Change;
import org.apache.ignite.ci.tcmodel.result.Build;
import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence;
import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrence;
+import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrenceFull;
import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted;
import org.apache.ignite.ci.util.FutureUtil;
@@ -165,7 +164,10 @@ public class SingleBuildRunCtx implements ISuiteResults {
return changes;
}
- public List<? extends TestOccurrence> getTests() {
+ public List<TestOccurrenceFull> getTests() {
+ if(isComposite())
+ return Collections.emptyList();
+
return buildCompacted.getTestOcurrences(compactor).getTests();
}
@@ -183,7 +185,13 @@ public class SingleBuildRunCtx implements ISuiteResults {
}
+ /**
+ * @return Names of not muted or ignored test failed for non composite build
+ */
public Stream<String> getFailedNotMutedTestNames() {
+ if(isComposite())
+ return Stream.empty();
+
return buildCompacted.getFailedNotMutedTestNames(compactor);
}
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 baa71f2..3d44832 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
@@ -46,7 +46,6 @@ import org.apache.ignite.ci.tcmodel.changes.ChangeRef;
import org.apache.ignite.ci.tcmodel.changes.ChangesList;
import org.apache.ignite.ci.tcmodel.hist.BuildRef;
import org.apache.ignite.ci.tcmodel.result.Build;
-import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrencesFull;
import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted;
@@ -113,7 +112,7 @@ public class BuildChainProcessor {
final List<Future<Stream<BuildRef>>> phase1Submitted = uniqueBuldsInvolved
.map((buildRef) -> svc.submit(
- () -> replaceWithRecent(teamcity, teamcityIgnited, includeLatestRebuild, unique, buildRef, entryPoints.size())))
+ () -> replaceWithRecent(teamcityIgnited, includeLatestRebuild, unique, buildRef, entryPoints.size())))
.collect(Collectors.toList());
@@ -133,31 +132,29 @@ public class BuildChainProcessor {
fillBuildCounts(multiCtx, teamcityIgnited, includeScheduledInfo);
});
- if (teamcity != null) {
- Function<MultBuildRunCtx, Float> function = ctx -> {
- SuiteInBranch key = new SuiteInBranch(ctx.suiteId(), normalizeBranch(failRateBranch));
+ Function<MultBuildRunCtx, Float> function = ctx -> {
+ SuiteInBranch key = new SuiteInBranch(ctx.suiteId(), normalizeBranch(failRateBranch));
- RunStat runStat = teamcity.getBuildFailureRunStatProvider().apply(key);
+ RunStat runStat = teamcity.getBuildFailureRunStatProvider().apply(key);
- if (runStat == null)
- return 0f;
+ if (runStat == null)
+ return 0f;
- //some hack to bring timed out suites to top
- return runStat.getCriticalFailRate() * 3.14f + runStat.getFailRate();
- };
+ //some hack to bring timed out suites to top
+ return runStat.getCriticalFailRate() * 3.14f + runStat.getFailRate();
+ };
- contexts.sort(Comparator.comparing(function).reversed());
- }
- else
- contexts.sort(Comparator.comparing(MultBuildRunCtx::suiteName));
+ contexts.sort(Comparator.comparing(function).reversed());
fullChainRunCtx.addAllSuites(contexts);
return fullChainRunCtx;
}
+ @SuppressWarnings("WeakerAccess")
@NotNull
- public Stream<? extends BuildRef> processBuildList(ITeamcity teamcity,
+ @AutoProfiling
+ protected Stream<? extends BuildRef> processBuildList(ITeamcity teamcity,
ITeamcityIgnited teamcityIgnited, Map<String, MultBuildRunCtx> buildsCtxMap,
Stream<? extends BuildRef> list) {
list.forEach((BuildRef ref) -> {
@@ -184,7 +181,7 @@ public class BuildChainProcessor {
SingleBuildRunCtx ctx = new SingleBuildRunCtx(buildFromFat, buildCompacted, compactor);
- if (!buildFromFat.isComposite())
+ if (!buildCompacted.isComposite())
mCtx.addTests(buildCompacted.getTestOcurrences(compactor).getTests());
@@ -224,10 +221,14 @@ public class BuildChainProcessor {
return ctx;
}
+ @SuppressWarnings("WeakerAccess")
@NotNull
- public static Stream< BuildRef> replaceWithRecent(ITeamcity teamcity,
- ITeamcityIgnited teamcityIgnited, LatestRebuildMode includeLatestRebuild,
- Map<Integer, BuildRef> unique, BuildRef buildRef, int cntLimit) {
+ @AutoProfiling
+ protected static Stream< BuildRef> replaceWithRecent(ITeamcityIgnited teamcityIgnited,
+ LatestRebuildMode includeLatestRebuild,
+ Map<Integer, BuildRef> unique,
+ BuildRef buildRef,
+ int cntLimit) {
if (includeLatestRebuild == LatestRebuildMode.NONE)
return Stream.of(buildRef);
@@ -292,13 +293,12 @@ public class BuildChainProcessor {
}
private static void analyzeTests(MultBuildRunCtx outCtx, IAnalyticsEnabledTeamcity teamcity,
- ProcessLogsMode procLog) {
+ ProcessLogsMode procLog) {
for (SingleBuildRunCtx ctx : outCtx.getBuilds()) {
- if (teamcity != null)
- teamcity.calculateBuildStatistic(ctx);
+ teamcity.calculateBuildStatistic(ctx);
if ((procLog == ProcessLogsMode.SUITE_NOT_COMPLETE && ctx.hasSuiteIncompleteFailure())
- || procLog == ProcessLogsMode.ALL)
+ || procLog == ProcessLogsMode.ALL)
ctx.setLogCheckResFut(teamcity.analyzeBuildLog(ctx.buildId(), ctx));
}
}