in tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/pr/PrChainsProcessor.java [112:187]
public DsSummaryUi getTestFailuresSummary(
ICredentialsProv creds,
String srvCodeOrAlias,
String suiteId,
String branchForTc,
String act,
Integer cnt,
@Nullable String tcBaseBranchParm,
@Nullable Boolean checkAllLogs,
SyncMode mode) {
final DsSummaryUi res = new DsSummaryUi();
ITeamcityIgnited tcIgnited = tcIgnitedProvider.server(srvCodeOrAlias, creds);
IGitHubConnIgnited gitHubConnIgnited = gitHubConnIgnitedProvider.server(srvCodeOrAlias);
IJiraIgnited jiraIntegration = jiraIgnProv.server(srvCodeOrAlias);
res.setJavaFlags(gitHubConnIgnited.config(), jiraIntegration.config());
LatestRebuildMode rebuild;
if (Action.HISTORY.equals(act))
rebuild = LatestRebuildMode.ALL;
else if (Action.LATEST.equals(act))
rebuild = LatestRebuildMode.LATEST;
else if (Action.CHAIN.equals(act))
rebuild = LatestRebuildMode.NONE;
else
rebuild = LatestRebuildMode.LATEST;
int buildResMergeCnt;
if (rebuild == LatestRebuildMode.ALL)
buildResMergeCnt = cnt == null ? 10 : cnt;
else
buildResMergeCnt = 1;
ProcessLogsMode logs;
if (buildResMergeCnt > 1)
logs = (checkAllLogs != null && checkAllLogs) ? ProcessLogsMode.ALL : ProcessLogsMode.DISABLED;
else
logs = (checkAllLogs != null && checkAllLogs) ? ProcessLogsMode.ALL : ProcessLogsMode.SUITE_NOT_COMPLETE;
List<Integer> hist = tcIgnited.getLastNBuildsFromHistory(suiteId, branchForTc, buildResMergeCnt);
String baseBranchForTc = Strings.isNullOrEmpty(tcBaseBranchParm) ? dfltBaseTcBranch(srvCodeOrAlias) : tcBaseBranchParm;
FullChainRunCtx ctx = buildChainProcessor.loadFullChainContext(
tcIgnited,
hist,
rebuild,
logs,
buildResMergeCnt == 1,
baseBranchForTc,
mode,
null, null);
DsChainUi chainStatus = new DsChainUi(srvCodeOrAlias, tcIgnited.serverCode(), branchForTc);
chainStatus.baseBranchForTc = baseBranchForTc;
if (ctx.isFakeStub())
chainStatus.setBuildNotFound(true);
else {
//fail rate reference is always default (master)
chainStatus.initFromContext(tcIgnited, ctx, baseBranchForTc, compactor, false,
null, null, -1, null, false, false); // don't need for PR
chainStatus.findNewTests(ctx, tcIgnited, baseBranchForTc, compactor, newTestsStorage);
initJiraAndGitInfo(chainStatus, jiraIntegration, gitHubConnIgnited);
}
res.addChainOnServer(chainStatus);
res.initCounters(getPrUpdateCounters(srvCodeOrAlias, branchForTc, baseBranchForTc, creds));
return res;
}