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 76692ec  Observation and triggering status is shown
76692ec is described below

commit 76692ec552291ca18b62dd519824310bb10b9d3d
Author: Dmitriy Pavlov <[email protected]>
AuthorDate: Thu Oct 11 16:04:39 2018 +0300

    Observation and triggering status is shown
---
 .../apache/ignite/ci/observer/BuildObserver.java   | 23 ++++++++++++++++++++++
 .../org/apache/ignite/ci/observer/BuildsInfo.java  |  8 ++++----
 .../ci/tcbot/visa/ContributionCheckStatus.java     |  3 +++
 .../tcbot/visa/TcBotTriggerAndSignOffService.java  |  7 ++++++-
 ignite-tc-helper-web/src/main/webapp/js/prs-1.0.js | 15 ++++++++++++++
 5 files changed, 51 insertions(+), 5 deletions(-)

diff --git 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildObserver.java
 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildObserver.java
index a6d302f..f8a7ac3 100644
--- 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildObserver.java
+++ 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildObserver.java
@@ -17,6 +17,8 @@
 
 package org.apache.ignite.ci.observer;
 
+import java.util.Objects;
+import java.util.Queue;
 import java.util.Timer;
 import javax.inject.Inject;
 import org.apache.ignite.ci.tcmodel.result.Build;
@@ -61,4 +63,25 @@ public class BuildObserver {
     public void observe(String srvId, ICredentialsProv prov, String ticket, 
Build... builds) {
         observerTask.builds.add(new BuildsInfo(srvId, prov, ticket, builds));
     }
+
+    /**
+     * @param srvId Server id.
+     * @param branch Branch.
+     */
+    public String getObservationStatus(String srvId, String branch) {
+        StringBuilder sb = new StringBuilder();
+        Queue<BuildsInfo> builds = observerTask.builds;
+
+        for (BuildsInfo bi : builds) {
+            if (Objects.equals(bi.branchName, branch)
+                && Objects.equals(bi.srvId, srvId)) {
+                sb.append(bi.ticket).append(" to be commented, waiting for 
builds. ");
+                sb.append(bi.finishedBuildsCount());
+                sb.append(" builds done from ");
+                sb.append(bi.buildsCount());
+            }
+        }
+
+        return sb.toString();
+    }
 }
diff --git 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildsInfo.java
 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildsInfo.java
index 2dd3060..e318f19 100644
--- 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildsInfo.java
+++ 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildsInfo.java
@@ -24,10 +24,10 @@ import org.apache.ignite.ci.IAnalyticsEnabledTeamcity;
 import org.apache.ignite.ci.tcmodel.result.Build;
 import org.apache.ignite.ci.user.ICredentialsProv;
 
+/**
+ *
+ */
 public class BuildsInfo {
-    /** Finished. */
-    public static final String FINISHED = "finished";
-
     /** Server id. */
     public final String srvId;
 
@@ -70,7 +70,7 @@ public class BuildsInfo {
         for (Map.Entry<Build, Boolean> entry : finishedBuilds.entrySet()) {
             if (!entry.getValue()) {
                 Build build = teamcity.getBuild(entry.getKey().getId());
-                entry.setValue(build.state.equals(FINISHED));
+                entry.setValue(build.isFinished());
             }
         }
 
diff --git 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/ContributionCheckStatus.java
 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/ContributionCheckStatus.java
index 55b0c3f..518cdff 100644
--- 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/ContributionCheckStatus.java
+++ 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/ContributionCheckStatus.java
@@ -27,4 +27,7 @@ package org.apache.ignite.ci.tcbot.visa;
 
     /** Resolved run all branch: Some branch probably with finished or queued 
builds in in, or default pull/nnnn/head. */
     public String resolvedBranch;
+
+    /** Observations status: Filled if build observer has something sheduled 
related to {@link #resolvedBranch} */
+    public String observationsStatus;
 }
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 2a263d2..193b3e5 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
@@ -61,6 +61,8 @@ public class TcBotTriggerAndSignOffService {
 
     @Inject ITeamcityIgnitedProvider teamcityIgnitedProvider;
 
+    @Inject Provider<BuildObserver> observer;
+
     /**
      * @param pr Pull Request.
      * @return JIRA ticket full name or empty string.
@@ -148,7 +150,7 @@ public class TcBotTriggerAndSignOffService {
             ticketFullName = 
ticketFullName.toUpperCase().startsWith("IGNITE-") ? ticketFullName : "IGNITE-" 
+ ticketFullName;
         }
 
-        buildObserverProvider.get().observe(srvId, prov, "ignite-" + 
ticketFullName, builds);
+        buildObserverProvider.get().observe(srvId, prov, ticketFullName, 
builds);
 
         return "JIRA ticket IGNITE-" + ticketFullName + " will be notified 
after the tests are completed.";
     }
@@ -278,6 +280,9 @@ public class TcBotTriggerAndSignOffService {
             //todo take into account running/queued
             status.resolvedBranch = status.branchWithFinishedRunAll;
 
+        String observationsStatus = observer.get().getObservationStatus(srvId, 
status.resolvedBranch);
+
+        status.observationsStatus  = Strings.emptyToNull(observationsStatus);
 
         //todo take into accounts not only run alls:
         status.queuedBuilds = 
(int)allRunAlls.stream().filter(BuildRef::isNotCancelled).filter(BuildRef::isQueued).count();
diff --git a/ignite-tc-helper-web/src/main/webapp/js/prs-1.0.js 
b/ignite-tc-helper-web/src/main/webapp/js/prs-1.0.js
index 0779358..e6fb4fe 100644
--- a/ignite-tc-helper-web/src/main/webapp/js/prs-1.0.js
+++ b/ignite-tc-helper-web/src/main/webapp/js/prs-1.0.js
@@ -123,6 +123,13 @@ function showContributionsTable(result, srvId, suiteId) {
     });
 }
 
+function showWaitingResults(stageNum, prId, text) {
+    let stageOneStatus = $('#visaStage_' + stageNum + '_' + prId);
+    stageOneStatus.css('background', 'darkorange');
+    stageOneStatus.attr("title", text);
+    stageOneStatus.html("&#9203;");
+}
+
 function showStageResult(stageNum, prId, passed, failed) {
     let stageOneStatus = $('#visaStage_' + stageNum + '_' + prId);
     let html;
@@ -235,6 +242,14 @@ function showContributionStatus(status, prId, row, srvId, 
suiteId) {
     let noNeedToTrigger = hasQueued || buildIsCompleted;
     showStageResult(2, prId, noNeedToTrigger, false);
     showStageResult(3, prId, buildIsCompleted, false);
+    if(hasQueued) {
+        showWaitingResults(3, prId, "Has queued builds: " + 
status.queuedBuilds  + " queued " + " ");
+
+    }
+
+    if(isDefinedAndFilled(status.observationsStatus)) {
+        showWaitingResults(4, prId, status.observationsStatus);
+    }
 
     if (isDefinedAndFilled(status.resolvedBranch)) {
         var jiraOptional = hasJiraIssue ? row.jiraIssueId : "";

Reply via email to