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/26 12:56:29 UTC

[ignite-teamcity-bot] branch ignite-9848-load-all-builds updated (fb171f1 -> b25b4cb)

This is an automated email from the ASF dual-hosted git repository.

dpavlov pushed a change to branch ignite-9848-load-all-builds
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git.


    from fb171f1  More deprecations
     add 15d88a6  IGNITE-9849 Updated tests along with statistics, changed switch button - Fixes #38.
     new 7102e6f  Merge branch 'master' into ignite-9848-load-all-builds
     new b25b4cb  More deprecations

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../main/java/org/apache/ignite/ci/ITeamcity.java  |   2 +
 .../apache/ignite/ci/IgnitePersistentTeamcity.java |   1 +
 .../apache/ignite/ci/analysis/FullChainRunCtx.java |   2 +-
 .../ignite/ci/tcbot/condition/BuildCondition.java  |  91 +++
 .../tcbot/condition/BuildConditionCompacted.java   |  71 ++
 .../ci/tcbot/condition/BuildConditionDao.java      |  78 ++
 .../ci/teamcity/ignited/ITeamcityIgnited.java      |  17 +-
 .../ci/teamcity/ignited/TeamcityIgnitedImpl.java   |  18 +
 .../ci/teamcity/ignited/TeamcityIgnitedModule.java |   2 +
 .../web/model/current/BuildStatisticsSummary.java  |  22 +-
 .../ignite/ci/web/model/hist/BuildsHistory.java    |  33 +-
 .../ci/web/rest/build/GetBuildTestFailures.java    |  51 +-
 .../src/main/webapp/comparison.html                | 903 ++++++++++++++-------
 .../src/main/webapp/css/style-1.5.css              | 119 +--
 14 files changed, 1026 insertions(+), 384 deletions(-)
 create mode 100644 ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/condition/BuildCondition.java
 create mode 100644 ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/condition/BuildConditionCompacted.java
 create mode 100644 ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/condition/BuildConditionDao.java


[ignite-teamcity-bot] 02/02: More deprecations

Posted by dp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dpavlov pushed a commit to branch ignite-9848-load-all-builds
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git

commit b25b4cb5817c5eae8190831e69fc30d4304211d9
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Fri Oct 26 15:56:12 2018 +0300

    More deprecations
---
 ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/ITeamcity.java  | 2 ++
 .../src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java    | 1 +
 .../src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java    | 2 +-
 3 files changed, 4 insertions(+), 1 deletion(-)

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 c3bb8bd..92cdab8 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
@@ -87,6 +87,7 @@ public interface ITeamcity extends ITeamcityConn {
      * @param branch branch in TC identification.
      * @return list of builds in historical order, recent builds coming last.
      */
+    @Deprecated
     default List<BuildRef> getFinishedBuildsIncludeSnDepFailed(String projectId, String branch){
         return getFinishedBuildsIncludeSnDepFailed(projectId, branch, null);
     };
@@ -100,6 +101,7 @@ public interface ITeamcity extends ITeamcityConn {
      * @param sinceBuildId limit builds export with some build number, not operational for Persistent connection.
      * @return list of builds in historical order, recent builds coming last.
      */
+    @Deprecated
     List<BuildRef> getFinishedBuildsIncludeSnDepFailed(String projectId, String branch, Integer sinceBuildId);
 
     /**   */
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
index b248173..670256a 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
@@ -314,6 +314,7 @@ public class IgnitePersistentTeamcity implements IAnalyticsEnabledTeamcity, ITea
         return loaded;
     }
 
+    @Deprecated
     protected List<BuildRef> loadBuildHistory(IgniteCache<SuiteInBranch, Expirable<List<BuildRef>>> cache,
                                               int seconds,
                                               SuiteInBranch key,
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java
index 82cbb09..6a800eb 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java
@@ -34,7 +34,7 @@ public class FullChainRunCtx {
     private Build chainResults;
     private List<MultBuildRunCtx> buildCfgsResults = new ArrayList<>();
 
-    public FullChainRunCtx(Build chainResults ) {
+    public FullChainRunCtx(Build chainResults) {
         this.chainResults = chainResults;
 
         fakeStub = chainResults.isFakeStub();


[ignite-teamcity-bot] 01/02: Merge branch 'master' into ignite-9848-load-all-builds

Posted by dp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dpavlov pushed a commit to branch ignite-9848-load-all-builds
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git

commit 7102e6f7d649779c6d5712ef662a7e76afae075a
Merge: fb171f1 15d88a6
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Fri Oct 26 15:45:59 2018 +0300

    Merge branch 'master' into ignite-9848-load-all-builds
    
    # Conflicts:
    #	ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java
    #	ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java
    #	ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/hist/BuildsHistory.java

 .../ignite/ci/tcbot/condition/BuildCondition.java  |  91 +++
 .../tcbot/condition/BuildConditionCompacted.java   |  71 ++
 .../ci/tcbot/condition/BuildConditionDao.java      |  78 ++
 .../ci/teamcity/ignited/ITeamcityIgnited.java      |  17 +-
 .../ci/teamcity/ignited/TeamcityIgnitedImpl.java   |  18 +
 .../ci/teamcity/ignited/TeamcityIgnitedModule.java |   2 +
 .../web/model/current/BuildStatisticsSummary.java  |  22 +-
 .../ignite/ci/web/model/hist/BuildsHistory.java    |  33 +-
 .../ci/web/rest/build/GetBuildTestFailures.java    |  51 +-
 .../src/main/webapp/comparison.html                | 903 ++++++++++++++-------
 .../src/main/webapp/css/style-1.5.css              | 119 +--
 11 files changed, 1022 insertions(+), 383 deletions(-)

diff --cc ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java
index b2e6b32,bd85911..668ddf8
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java
@@@ -18,9 -18,9 +18,10 @@@ package org.apache.ignite.ci.teamcity.i
  
  import java.util.List;
  import javax.annotation.Nullable;
+ import org.apache.ignite.ci.tcbot.condition.BuildCondition;
  import org.apache.ignite.ci.tcmodel.hist.BuildRef;
  import org.apache.ignite.ci.tcmodel.result.Build;
 +import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted;
  
  /**
   *
@@@ -59,7 -59,16 +60,21 @@@ public interface ITeamcityIgnited 
      }
  
      /**
+      * Check build condition.
+      *
+      * @param buildId Build id.
+      */
+     public boolean buildIsValid(int buildId);
+ 
+     /**
+      * Set build condition.
+      *
+      * @param cond Condition.
+      */
+     public boolean setBuildCondition(BuildCondition cond);
++
++    /**
 +     * @param id Id.
 +     */
 +    public FatBuildCompacted getFatBuild(int id);
  }
diff --cc ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java
index fea9a9d,b5bab97..2dbae37
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java
@@@ -38,23 -30,13 +38,25 @@@ import org.apache.ignite.ci.ITeamcity
  import org.apache.ignite.ci.di.AutoProfiling;
  import org.apache.ignite.ci.di.MonitoredTask;
  import org.apache.ignite.ci.di.scheduler.IScheduler;
+ import org.apache.ignite.ci.tcbot.condition.BuildCondition;
+ import org.apache.ignite.ci.tcbot.condition.BuildConditionDao;
  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.fatbuild.FatBuildCompacted;
 +import org.apache.ignite.ci.teamcity.ignited.fatbuild.TestCompacted;
  import org.apache.ignite.ci.teamcity.pure.ITeamcityConn;
 +import org.jetbrains.annotations.NotNull;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
  
  public class TeamcityIgnitedImpl implements ITeamcityIgnited {
 +    /** Logger. */
 +    private static final Logger logger = LoggerFactory.getLogger(TestCompacted.class);
 +
 +    /** Max build id diff to enforce reload during incremental refresh. */
 +    public static final int MAX_ID_DIFF_TO_ENFORCE = 5000;
 +
      /** Server id. */
      private String srvId;
  
@@@ -67,14 -49,11 +69,17 @@@
      /** Build reference DAO. */
      @Inject private BuildRefDao buildRefDao;
  
+     /** Build condition DAO. */
+     @Inject private BuildConditionDao buildConditionDao;
+ 
 +    /** Build DAO. */
 +    @Inject private FatBuildDao fatBuildDao;
 +
      /** Server ID mask for cache Entries. */
 -    private long srvIdMaskHigh;
 +    private int srvIdMaskHigh;
 +
 +    @GuardedBy("this")
 +    private Set<Integer> buildToLoad = new HashSet<>();
  
      public void init(String srvId, ITeamcityConn conn) {
          this.srvId = srvId;
@@@ -82,19 -61,7 +87,20 @@@
  
          srvIdMaskHigh = ITeamcityIgnited.serverIdToInt(srvId);
          buildRefDao.init(); //todo init somehow in auto
+         buildConditionDao.init();
 +        fatBuildDao.init();
 +    }
 +
 +    public void scheduleBuildsLoad(List<Integer> buildsToAskFromTc) {
 +        synchronized (this) {
 +            buildToLoad.addAll(buildsToAskFromTc);
 +        }
 +
 +        scheduler.sheduleNamed(taskName("loadFatBuilds"), this::loadFatBuilds, 2, TimeUnit.MINUTES);
 +    }
 +
 +    @NotNull public String taskName(String taskName) {
 +        return ITeamcityIgnited.class.getSimpleName() +"." + taskName + "." + srvId;
      }
  
      /** {@inheritDoc} */
@@@ -128,40 -96,18 +134,52 @@@
          return build;
      }
  
+     /** {@inheritDoc} */
+     @Override public boolean buildIsValid(int buildId) {
+         BuildCondition cond = buildConditionDao.getBuildCondition(srvIdMaskHigh, buildId);
+ 
+         return cond == null || cond.isValid;
+     }
+ 
+     /** {@inheritDoc} */
+     @Override public boolean setBuildCondition(BuildCondition cond) {
+         return buildConditionDao.setBuildCondition(srvIdMaskHigh, cond);
+     }
+ 
 +    @Override public FatBuildCompacted getFatBuild(int buildId) {
 +        FatBuildCompacted existingBuild = fatBuildDao.getFatBuild(srvIdMaskHigh, buildId);
 +        if (existingBuild != null && !existingBuild.isOutdatedEntityVersion())
 +            return existingBuild;
 +
 +        FatBuildCompacted savedVer = reloadBuild(buildId, existingBuild);
 +
 +        return savedVer == null ? existingBuild : savedVer;
 +    }
 +
 +    /**
 +     * @param buildId
 +     * @param existingBuild
 +     * @return new build if it was updated or null if no updates detected
 +     */
 +    public FatBuildCompacted reloadBuild(int buildId, FatBuildCompacted existingBuild) {
 +        //  System.err.println(Thread.currentThread().getName()+ ": Build " + buildId);
 +        //todo some sort of locking to avoid double requests
 +        Build build = conn.getBuild(buildId);
 +
 +        List<TestOccurrencesFull> tests = new ArrayList<>();
 +        String nextHref = null;
 +        do {
 +            boolean testDtls = !build.isComposite(); // don't query test details for compoite
 +            TestOccurrencesFull page = conn.getTestsPage(buildId, nextHref, testDtls);
 +            nextHref = page.nextHref();
 +
 +            tests.add(page);
 +        }
 +        while (!Strings.isNullOrEmpty(nextHref));
 +
 +        return fatBuildDao.saveBuild(srvIdMaskHigh, build, tests, existingBuild);
 +    }
 +
      /**
       *
       */
diff --cc ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/hist/BuildsHistory.java
index 842f6e9,7f88a98..0f22a0e
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/hist/BuildsHistory.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/hist/BuildsHistory.java
@@@ -112,12 -138,13 +130,13 @@@ public class BuildsHistory 
      }
  
      /** */
-     private void initStatistics(IAnalyticsEnabledTeamcity teamcity, int[] buildIds) {
+     private void initStatistics(IAnalyticsEnabledTeamcity teamcity, Map<Integer, Boolean> buildIdsWithConditions) {
 -        List<Future<BuildStatisticsSummary>> buildStatiscsFutures = new ArrayList<>();
 +        List<Future<BuildStatisticsSummary>> buildStaticsFutures = new ArrayList<>();
  
-         for (int buildId : buildIds) {
+         for (int buildId : buildIdsWithConditions.keySet()) {
              Future<BuildStatisticsSummary> buildFuture = CompletableFuture.supplyAsync(() -> {
                  BuildStatisticsSummary buildsStatistic = new BuildStatisticsSummary(buildId);
+                 buildsStatistic.isValid = buildIdsWithConditions.get(buildId);
  
                  buildsStatistic.initialize(teamcity);
  
diff --cc ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java
index 580fcad,dffbb69..e1300c3
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java
@@@ -29,11 -31,11 +31,14 @@@ import org.apache.ignite.ci.analysis.Fu
  import org.apache.ignite.ci.analysis.mode.LatestRebuildMode;
  import org.apache.ignite.ci.analysis.mode.ProcessLogsMode;
  import org.apache.ignite.ci.tcmodel.hist.BuildRef;
+ import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
+ import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider;
  import org.apache.ignite.ci.tcmodel.result.tests.TestRef;
 +import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
 +import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider;
 +import org.apache.ignite.ci.teamcity.restcached.ITcServerProvider;
  import org.apache.ignite.ci.user.ICredentialsProv;
+ import org.apache.ignite.ci.web.model.current.BuildStatisticsSummary;
  import org.apache.ignite.ci.web.model.hist.BuildsHistory;
  import org.apache.ignite.ci.web.BackgroundUpdater;
  import org.apache.ignite.ci.web.CtxListener;