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 85d160a Fix default baseline selection: base branch should be taken
from TC aliased service (not root).
85d160a is described below
commit 85d160a1c953e400a2e9c3be3ba572960fa94a8a
Author: Dmitriy Pavlov <[email protected]>
AuthorDate: Thu Jul 25 18:18:16 2019 +0300
Fix default baseline selection: base branch should be taken from TC aliased
service (not root).
---
.../tcbot/visa/TcBotTriggerAndSignOffService.java | 13 +++++-----
.../ignite/tcbot/engine/pr/PrChainsProcessor.java | 30 ++++++++++++++--------
2 files changed, 25 insertions(+), 18 deletions(-)
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java
index 9917e6b..7fc19f9 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java
@@ -65,7 +65,6 @@ import org.apache.ignite.tcbot.common.conf.ITcServerConfig;
import org.apache.ignite.tcbot.engine.conf.ITcBotConfig;
import org.apache.ignite.tcbot.engine.pr.BranchTicketMatcher;
import org.apache.ignite.tcbot.engine.pr.PrChainsProcessor;
-import org.apache.ignite.tcbot.engine.ui.DsHistoryStatUi;
import org.apache.ignite.tcbot.engine.ui.DsSuiteUi;
import org.apache.ignite.tcbot.engine.ui.DsTestFailureUi;
import org.apache.ignite.tcbot.persistence.IStringCompactor;
@@ -764,7 +763,7 @@ public class TcBotTriggerAndSignOffService {
* Produce visa message(see {@link Visa}) based on passed parameters and
publish it as a comment for specified
* ticket on Jira server.
*
- * @param srvId TC Server ID to take information about token from.
+ * @param srvCodeOrAlias TC Server ID to take information about token from.
* @param prov Credentials.
* @param buildTypeId Build type ID, for which visa was ordered.
* @param branchForTc Branch for TeamCity.
@@ -773,15 +772,15 @@ public class TcBotTriggerAndSignOffService {
* @return {@link Visa} instance.
*/
public Visa notifyJira(
- String srvId,
+ String srvCodeOrAlias,
ITcBotUserCreds prov,
String buildTypeId,
String branchForTc,
String ticket,
@Nullable String baseBranchForTc) {
- ITeamcityIgnited tcIgnited = tcIgnitedProv.server(srvId, prov);
+ ITeamcityIgnited tcIgnited = tcIgnitedProv.server(srvCodeOrAlias,
prov);
- IJiraIgnited jira = jiraIgnProv.server(srvId);
+ IJiraIgnited jira = jiraIgnProv.server(srvCodeOrAlias);
List<Integer> builds =
tcIgnited.getLastNBuildsFromHistory(buildTypeId, branchForTc, 1);
@@ -800,9 +799,9 @@ public class TcBotTriggerAndSignOffService {
JiraCommentResponse res;
try {
- String baseBranch = Strings.isNullOrEmpty(baseBranchForTc) ?
prChainsProcessor.dfltBaseTcBranch(tcIgnited) : baseBranchForTc;
+ String baseBranch = Strings.isNullOrEmpty(baseBranchForTc) ?
prChainsProcessor.dfltBaseTcBranch(srvCodeOrAlias) : baseBranchForTc;
- List<DsSuiteUi> suitesStatuses =
prChainsProcessor.getBlockersSuitesStatuses(buildTypeId, build.branchName,
srvId, prov,
+ List<DsSuiteUi> suitesStatuses =
prChainsProcessor.getBlockersSuitesStatuses(buildTypeId, build.branchName,
srvCodeOrAlias, prov,
SyncMode.RELOAD_QUEUED,
baseBranch);
diff --git
a/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/pr/PrChainsProcessor.java
b/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/pr/PrChainsProcessor.java
index ce34dcc..84ed0f1 100644
---
a/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/pr/PrChainsProcessor.java
+++
b/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/pr/PrChainsProcessor.java
@@ -31,6 +31,7 @@ import
org.apache.ignite.githubignited.IGitHubConnIgnitedProvider;
import org.apache.ignite.githubservice.IGitHubConnection;
import org.apache.ignite.jiraignited.IJiraIgnited;
import org.apache.ignite.jiraignited.IJiraIgnitedProvider;
+import org.apache.ignite.tcbot.common.conf.ITcServerConfig;
import org.apache.ignite.tcbot.common.interceptor.AutoProfiling;
import org.apache.ignite.tcbot.engine.chain.BuildChainProcessor;
import org.apache.ignite.tcbot.engine.chain.FullChainRunCtx;
@@ -139,7 +140,7 @@ public class PrChainsProcessor {
List<Integer> hist = tcIgnited.getLastNBuildsFromHistory(suiteId,
branchForTc, buildResMergeCnt);
- String baseBranchForTc = Strings.isNullOrEmpty(tcBaseBranchParm) ?
dfltBaseTcBranch(tcIgnited) : tcBaseBranchParm;
+ String baseBranchForTc = Strings.isNullOrEmpty(tcBaseBranchParm) ?
dfltBaseTcBranch(srvCodeOrAlias) : tcBaseBranchParm;
FullChainRunCtx ctx = buildChainProcessor.loadFullChainContext(
tcIgnited,
@@ -178,17 +179,24 @@ public class PrChainsProcessor {
/**
* Gets deafault TC identified base (reference) branch
- * @param tcIgnited Tc ignited.
+ * @param srvCodeOrAlias TC service code or aliad
*/
- public String dfltBaseTcBranch(ITeamcityIgnited tcIgnited) {
- String dfltTrackedBranch = tcIgnited.config().defaultTrackedBranch();
+ public String dfltBaseTcBranch(String srvCodeOrAlias) {
+ ITcServerConfig tcCfg = cfg.getTeamcityConfig(srvCodeOrAlias);
+ String dfltTrackedBranch = tcCfg.defaultTrackedBranch();
+
+ String tcRealSvc = tcCfg.reference();
+
Optional<ITrackedBranch> branch =
cfg.getTrackedBranches().get(dfltTrackedBranch);
- if(!branch.isPresent())
+ if (!branch.isPresent())
return ITeamcity.DEFAULT;
- Optional<ITrackedChain> chainAtSrv =
branch.get().chainsStream().filter(chain ->
- Objects.equals(chain.serverCode(),
tcIgnited.serverCode())).findAny();
+ Predicate<ITrackedChain> relatedToTcFilter = chain ->
+ Objects.equals(chain.serverCode(), srvCodeOrAlias)
+ || (!Strings.isNullOrEmpty(tcRealSvc) &&
Objects.equals(chain.serverCode(), tcRealSvc));
+
+ Optional<ITrackedChain> chainAtSrv =
branch.get().chainsStream().filter(relatedToTcFilter).findAny();
if (!chainAtSrv.isPresent())
return ITeamcity.DEFAULT;
@@ -239,7 +247,7 @@ public class PrChainsProcessor {
/**
* @param buildTypeId Build type ID, for which visa was ordered.
* @param branchForTc Branch for TeamCity.
- * @param srvId Server id.
+ * @param srvCodeOrAlias Server id.
* @param prov Credentials.
* @param syncMode
* @param baseBranchForTc
@@ -249,15 +257,15 @@ public class PrChainsProcessor {
public List<DsSuiteUi> getBlockersSuitesStatuses(
String buildTypeId,
String branchForTc,
- String srvId,
+ String srvCodeOrAlias,
ICredentialsProv prov,
SyncMode syncMode,
@Nullable String baseBranchForTc) {
- ITeamcityIgnited tcIgnited = tcIgnitedProvider.server(srvId, prov);
+ ITeamcityIgnited tcIgnited = tcIgnitedProvider.server(srvCodeOrAlias,
prov);
List<Integer> hist = tcIgnited.getLastNBuildsFromHistory(buildTypeId,
branchForTc, 1);
- String baseBranch = Strings.isNullOrEmpty(baseBranchForTc) ?
dfltBaseTcBranch(tcIgnited) : baseBranchForTc;
+ String baseBranch = Strings.isNullOrEmpty(baseBranchForTc) ?
dfltBaseTcBranch(srvCodeOrAlias) : baseBranchForTc;
FullChainRunCtx ctx = buildChainProcessor.loadFullChainContext(
tcIgnited,