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

dpavlov pushed a commit to branch ignite-9542-new-run-stripe
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git

commit 023db5f8b0d4f64fbe6fdce4c804fee6151555a9
Merge: 9da280d cd87a55
Author: Dmitriy Pavlov <[email protected]>
AuthorDate: Thu Nov 29 18:21:11 2018 +0300

    Merge branch 'master' into ignite-9542-new-run-stripe
    
    # 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/teamcity/ignited/TeamcityIgnitedModule.java
    #   
ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
    #   
ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java

 .../main/java/org/apache/ignite/ci/ITeamcity.java  |   11 +
 .../apache/ignite/ci/IgnitePersistentTeamcity.java |    6 +
 .../apache/ignite/ci/IgniteTeamcityConnection.java |   11 +-
 .../main/java/org/apache/ignite/ci/TcHelper.java   |   21 +-
 .../org/apache/ignite/ci/observer/BuildsInfo.java  |    2 +-
 .../ci/tcbot/visa/ContributionCheckStatus.java     |   23 +-
 .../tcbot/visa/TcBotTriggerAndSignOffService.java  |   69 +-
 .../apache/ignite/ci/tcbot/visa/VisaStatus.java    |    6 +
 .../apache/ignite/ci/tcmodel/conf/BuildType.java   |   78 +-
 .../ignite/ci/tcmodel/conf/bt/BuildTypeFull.java   |   33 +-
 .../ignite/ci/tcmodel/conf/bt/Parameters.java      |   43 +-
 .../apache/ignite/ci/tcmodel/conf/bt/Property.java |   45 +
 .../ci/tcmodel/conf/bt/SnapshotDependencies.java   |   39 +
 .../ci/tcmodel/conf/bt/SnapshotDependency.java     |   60 ++
 .../org/apache/ignite/ci/tcmodel/result/Build.java |    2 -
 .../ci/teamcity/ignited/ITeamcityIgnited.java      |   31 +
 .../ci/teamcity/ignited/TeamcityIgnitedImpl.java   |   38 +-
 .../ci/teamcity/ignited/TeamcityIgnitedModule.java |    6 +
 .../ignited/buildtype/BuildTypeCompacted.java      |  197 ++++
 .../teamcity/ignited/buildtype/BuildTypeDao.java   |  226 +++++
 .../ignited/buildtype/BuildTypeRefCompacted.java   |  189 ++++
 .../ignited/buildtype/BuildTypeRefDao.java         |  251 +++++
 .../teamcity/ignited/buildtype/BuildTypeSync.java  |  249 +++++
 .../ignited/buildtype/ParametersCompacted.java     |  132 +++
 .../buildtype/SnapshotDependencyCompacted.java     |  131 +++
 .../ignited/fatbuild/FatBuildCompacted.java        |    6 +-
 .../ignite/ci/teamcity/pure/ITeamcityConn.java     |   16 +
 .../conf/bt/Property.java => util/NumberUtil.java} |   38 +-
 .../model/current/ChainAtServerCurrentStatus.java  |    3 +-
 .../ignite/ci/web/rest/visa/TcBotVisaService.java  |    5 +-
 ignite-tc-helper-web/src/main/webapp/js/prs-1.0.js |   68 +-
 .../src/main/webapp/js/testfails-2.1.js            |   23 +-
 ignite-tc-helper-web/src/main/webapp/prs.html      |    2 +
 ignite-tc-helper-web/src/main/webapp/visas.html    |   11 +
 .../ci/tcbot/chain/PrChainsProcessorTest.java      |    4 +-
 .../ignited/IgnitedTcInMemoryIntegrationTest.java  |  106 ++
 .../src/test/resources/IgniteTests24Java8.xml      |   27 +
 ...gniteTests24Java8_ActivateDeactivateCluster.xml |  156 +++
 .../test/resources/IgniteTests24Java8_RunAll.xml   | 1035 ++++++++++++++++++++
 .../src/test/resources/IgniteTests24Java8_v2.xml   |   26 +
 40 files changed, 3313 insertions(+), 112 deletions(-)

diff --cc 
ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java
index e8486d5,97414a3..adf3be5
--- 
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
@@@ -20,12 -20,10 +20,14 @@@ import java.util.Collection
  import java.util.Date;
  import java.util.List;
  import javax.annotation.Nullable;
 +
 +import org.apache.ignite.ci.analysis.RunStat;
 +import org.apache.ignite.ci.analysis.SuiteInBranch;
 +import org.apache.ignite.ci.analysis.TestInBranch;
  import org.apache.ignite.ci.tcmodel.result.Build;
  import org.apache.ignite.ci.teamcity.ignited.buildcondition.BuildCondition;
+ import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeRefCompacted;
+ import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeCompacted;
  import org.apache.ignite.ci.teamcity.ignited.change.ChangeCompacted;
  import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted;
  import org.jetbrains.annotations.NotNull;
@@@ -126,13 -126,32 +128,42 @@@ public interface ITeamcityIgnited 
       */
      @NotNull public List<Integer> getLastNBuildsFromHistory(String btId, 
String branchForTc, int cnt);
  
+     /**
+      * Return list of composite suite ids sorted by number of snapshot 
dependency.
+      *
+      * @param projectId Project id.
+      * @return List of composite buildType ids.
+      */
+     public List<String> 
getCompositeBuildTypesIdsSortedByBuildNumberCounter(String projectId);
+ 
+     /**
+      * Return list of compacted references to project suites.
+      *
+      * @param projectId Project id.
+      * @return List of compacted references to buildTypes.
+      */
+     public List<BuildTypeRefCompacted> getAllBuildTypesCompacted(String 
projectId);
+ 
+ 
+     /**
+      * @param buildTypeId BuildType id.
+      * @return Compacted reference to BuildType.
+      */
+     public BuildTypeRefCompacted getBuildTypeRef(String buildTypeId);
+ 
+     /**
+      * @param buildTypeId BuildType id.
+      * @return BuildType compacted.
+      */
+     public BuildTypeCompacted getBuildType(String buildTypeId);
++
 +    @Nullable public IRunHistory getTestRunHist(TestInBranch testInBranch);
 +
 +    @Nullable public IRunHistory getSuiteRunHist(SuiteInBranch branch);
 +
 +    /**
 +     * @param suiteBuildTypeId Suite id.
 +     * @return run statistics of recent runls on all branches.
 +     */
 +    @Nullable public IRunStat getSuiteRunStatAllBranches(String 
suiteBuildTypeId);
  }
diff --cc 
ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java
index d5f139b,01702cf..df11962
--- 
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
@@@ -90,16 -94,19 +98,25 @@@ public class TeamcityIgnitedImpl implem
      /** Changes DAO. */
      @Inject private ChangeDao changesDao;
  
 -    /** Changes DAO. */
 +    /** Changes sync class. */
      @Inject private ChangeSync changeSync;
  
+     /** BuildType reference DAO. */
+     @Inject private BuildTypeRefDao buildTypeRefDao;
+ 
+     /** BuildType DAO. */
+     @Inject private BuildTypeDao buildTypeDao;
+ 
+     /** BuildType DAO. */
+     @Inject private BuildTypeSync buildTypeSync;
+ 
 -    /** Changes DAO. */
 +    /** Run history DAO. */
 +    @Inject private RunHistCompactedDao runHistCompactedDao;
 +
 +    /** Run history sync. */
 +    @Inject private RunHistSync runHistSync;
 +
 +    /** Strings compactor. */
      @Inject private IStringCompactor compactor;
  
      /** Server ID mask for cache Entries. */
@@@ -114,10 -121,8 +131,9 @@@
          buildConditionDao.init();
          fatBuildDao.init();
          changesDao.init();
 +        runHistCompactedDao.init();
      }
  
- 
      @NotNull
      private String taskName(String taskName) {
          return ITeamcityIgnited.class.getSimpleName() +"." + taskName + "." + 
srvNme;
@@@ -320,28 -325,28 +336,48 @@@
      }
  
      /** {@inheritDoc} */
 +    @Nullable
 +    @Override public IRunHistory getTestRunHist(TestInBranch testInBranch) {
 +        return runHistCompactedDao.getTestRunHist(srvIdMaskHigh, 
testInBranch.name, testInBranch.branch);
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Nullable
 +    @Override public IRunHistory getSuiteRunHist(SuiteInBranch suiteInBranch) 
{
 +        return runHistCompactedDao.getSuiteRunHist(srvIdMaskHigh, 
suiteInBranch.getSuiteId(), suiteInBranch.branch);
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Nullable @Override public IRunStat getSuiteRunStatAllBranches(String 
suiteBuildTypeId) {
 +        return runHistCompactedDao.getSuiteRunStatAllBranches(srvIdMaskHigh, 
suiteBuildTypeId);
 +    }
 +
 +    /**
 +     * @param branchName Branch name.
 +     */
++    /** {@inheritDoc} */
+     @Override public List<String> 
getCompositeBuildTypesIdsSortedByBuildNumberCounter(String projectId) {
+         return 
buildTypeSync.getCompositeBuildTypesIdsSortedByBuildNumberCounter(srvIdMaskHigh,
 projectId, conn);
+     }
+ 
+     /** {@inheritDoc} */
+     @Override public List<BuildTypeRefCompacted> 
getAllBuildTypesCompacted(String projectId) {
+         return buildTypeSync.getAllBuildTypesCompacted(srvIdMaskHigh, 
projectId, conn);
+     }
+ 
+     /** {@inheritDoc} */
+     @Override public BuildTypeRefCompacted getBuildTypeRef(String 
buildTypeId) {
+         return buildTypeRefDao.getBuildTypeRef(srvIdMaskHigh, buildTypeId);
+     }
+ 
+     /** {@inheritDoc} */
+     @Override public BuildTypeCompacted getBuildType(String buildTypeId) {
+         return buildTypeDao.getFatBuildType(srvIdMaskHigh, buildTypeId);
+     }
+ 
      public List<String> branchForQuery(@Nullable String branchName) {
          if (ITeamcity.DEFAULT.equals(branchName))
 -            return Lists.newArrayList(branchName, "refs/heads/master", 
"master");
 +            return Lists.newArrayList(branchName, 
ITeamcity.REFS_HEADS_MASTER, "master");
          else
              return Collections.singletonList(branchName);
      }
diff --cc 
ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedModule.java
index af78cef,690f87f..7a6ded0
--- 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedModule.java
+++ 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedModule.java
@@@ -44,8 -46,9 +47,11 @@@ public class TeamcityIgnitedModule exte
          bind(ProactiveFatBuildSync.class).in(new SingletonScope());
          bind(ChangeSync.class).in(new SingletonScope());
          bind(ChangeDao.class).in(new SingletonScope());
+         bind(BuildTypeRefDao.class).in(new SingletonScope());
+         bind(BuildTypeDao.class).in(new SingletonScope());
+         bind(BuildTypeSync.class).in(new SingletonScope());
 +        bind(RunHistCompactedDao.class).in(new SingletonScope());
 +
          bind(IStringCompactor.class).to(IgniteStringCompactor.class).in(new 
SingletonScope());
  
          TcRestCachedModule module = new TcRestCachedModule();
diff --cc 
ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
index ee05245,0c023b0..975d8f6
--- 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
+++ 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
@@@ -28,11 -27,9 +28,12 @@@ import javax.annotation.Nullable
  import org.apache.ignite.ci.ITcAnalytics;
  import org.apache.ignite.ci.ITeamcity;
  import org.apache.ignite.ci.analysis.FullChainRunCtx;
 -import org.apache.ignite.ci.analysis.ITestFailures;
 +import org.apache.ignite.ci.analysis.IMultTestOccurrence;
  import org.apache.ignite.ci.analysis.MultBuildRunCtx;
+ import org.apache.ignite.ci.tcmodel.conf.BuildType;
 +import org.apache.ignite.ci.analysis.TestInBranch;
 +import org.apache.ignite.ci.teamcity.ignited.IRunHistory;
 +import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
  import org.apache.ignite.ci.util.CollectionUtil;
  import org.apache.ignite.internal.util.typedef.T2;
  
diff --cc 
ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java
index 1d7c835,6aa39bc..c472447
--- 
a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java
+++ 
b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java
@@@ -25,33 -25,33 +25,37 @@@ import java.io.FileWriter
  import java.io.IOException;
  import java.io.InputStream;
  import java.io.InputStreamReader;
 -import java.util.ArrayList;
 -import java.util.Collections;
 -import java.util.List;
 -import java.util.Set;
 -import java.util.TreeSet;
 +import java.util.*;
+ import java.util.concurrent.atomic.AtomicBoolean;
  import java.util.stream.Collectors;
  import javax.xml.bind.JAXBException;
 +
 +import com.google.inject.internal.SingletonScope;
  import org.apache.ignite.Ignite;
  import org.apache.ignite.Ignition;
 +import org.apache.ignite.ci.ITeamcity;
 +import org.apache.ignite.ci.analysis.SuiteInBranch;
 +import org.apache.ignite.ci.analysis.TestInBranch;
  import org.apache.ignite.ci.db.TcHelperDb;
  import org.apache.ignite.ci.di.scheduler.DirectExecNoWaitSheduler;
  import org.apache.ignite.ci.di.scheduler.IScheduler;
  import org.apache.ignite.ci.di.scheduler.NoOpSheduler;
 +import org.apache.ignite.ci.tcbot.chain.PrChainsProcessorTest;
  import org.apache.ignite.ci.tcmodel.changes.ChangesList;
  import org.apache.ignite.ci.tcmodel.conf.BuildType;
+ import org.apache.ignite.ci.tcmodel.conf.Project;
+ import org.apache.ignite.ci.tcmodel.conf.bt.BuildTypeFull;
  import org.apache.ignite.ci.tcmodel.hist.BuildRef;
  import org.apache.ignite.ci.tcmodel.result.Build;
  import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence;
  import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrences;
  import org.apache.ignite.ci.tcmodel.result.stat.Statistics;
  import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrencesFull;
+ import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeRefCompacted;
  import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted;
  import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildDao;
 +import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistCompactedDao;
 +import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistSync;
  import org.apache.ignite.ci.teamcity.pure.BuildHistoryEmulator;
  import org.apache.ignite.ci.teamcity.pure.ITeamcityHttpConnection;
  import org.apache.ignite.ci.user.ICredentialsProv;

Reply via email to