This is an automated email from the ASF dual-hosted git repository. dpavlov pushed a commit to branch ignite-10620-1 in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git
commit 19f70ffe0d385e68b764eb679c4b1b563619c7cf Merge: 5b32ccc 88579f8 Author: Dmitriy Pavlov <[email protected]> AuthorDate: Wed Jan 9 20:46:52 2019 +0300 Merge branch 'master' into ignite-10620-1 # Conflicts: # ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/ITcHelper.java # ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/issue/IssuesStorage.java # ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/LocalFilesBasedConfig.java # ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java # ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/issue/IssueDetectorTest.java conf/apache.auth.properties | 1 + .../java/org/apache/ignite/ci/HelperConfig.java | 3 + .../java/org/apache/ignite/ci/ITcAnalytics.java | 8 -- .../main/java/org/apache/ignite/ci/ITcHelper.java | 11 +- .../main/java/org/apache/ignite/ci/ITeamcity.java | 6 + .../apache/ignite/ci/IgnitePersistentTeamcity.java | 63 ++--------- .../apache/ignite/ci/IgniteTeamcityConnection.java | 8 ++ .../main/java/org/apache/ignite/ci/TcHelper.java | 20 +++- .../apache/ignite/ci/analysis/ISuiteResults.java | 11 +- .../apache/ignite/ci/analysis/MultBuildRunCtx.java | 12 ++ .../org/apache/ignite/ci/analysis/RunStat.java | 45 -------- .../ignite/ci/analysis/SingleBuildRunCtx.java | 5 + .../ignite/ci/analysis/TestCompactedMult.java | 9 +- .../org/apache/ignite/ci/conf/BranchTracked.java | 8 +- .../java/org/apache/ignite/ci/db/DbMigrations.java | 33 ++---- .../org/apache/ignite/ci/issue/IssuesStorage.java | 13 ++- .../monitoring/UrlUsed.java => jira/Fields.java} | 13 ++- .../apache/ignite/ci/jira/IJiraIntegration.java | 13 +++ .../main/java/org/apache/ignite/ci/jira/Jira.java | 15 +++ .../monitoring/UrlUsed.java => jira/Status.java} | 20 +++- .../{conf/BranchTracked.java => jira/Ticket.java} | 41 +++---- .../mute/MuteAssignment.java => jira/Tickets.java} | 48 ++++---- .../ignited/JiraTicketDao.java} | 83 +++++--------- .../ignite/ci/jira/ignited/JiraTicketSync.java | 94 ++++++++++++++++ .../ignite/ci/jira/ignited/TicketCompacted.java | 62 +++++++++++ .../org/apache/ignite/ci/jobs/CheckQueueJob.java | 4 +- .../ignite/ci/tcbot/TcBotSystemProperties.java | 1 + .../ignite/ci/tcbot/chain/BuildChainProcessor.java | 5 - .../tcbot/chain/TrackedBranchChainsProcessor.java | 2 +- .../ci/tcbot/conf/LocalFilesBasedConfig.java | 2 + .../ignite/ci/tcbot/issue/IssueDetector.java | 9 +- .../tcbot/visa/TcBotTriggerAndSignOffService.java | 2 +- .../ignite/ci/tcmodel/mute/MuteAssignment.java | 2 +- .../apache/ignite/ci/tcmodel/mute/MuteInfo.java | 8 +- .../apache/ignite/ci/tcmodel/mute/MuteScope.java | 2 +- .../apache/ignite/ci/tcmodel/mute/MuteTarget.java | 2 +- .../org/apache/ignite/ci/tcmodel/mute/Mutes.java | 5 +- .../apache/ignite/ci/tcmodel/result/Triggered.java | 18 +-- .../ci/teamcity/ignited/ITeamcityIgnited.java | 4 +- .../ci/teamcity/ignited/TeamcityIgnitedImpl.java | 54 ++++++++- .../ci/teamcity/ignited/TeamcityIgnitedModule.java | 6 + .../ignited/fatbuild/FatBuildCompacted.java | 9 +- .../ignite/ci/teamcity/ignited/mute/MuteDao.java | 6 +- .../ignite/ci/teamcity/ignited/mute/MuteSync.java | 4 +- .../ci/teamcity/ignited/runhist/RunHistSync.java | 14 ++- .../ignite/ci/teamcity/pure/TeamcityRecorder.java | 1 + .../java/org/apache/ignite/ci/util/HttpUtil.java | 34 +++++- .../java/org/apache/ignite/ci/web/CtxListener.java | 13 ++- .../org/apache/ignite/ci/web/model/Version.java | 3 +- .../ci/web/model/current/SuiteCurrentStatus.java | 3 +- .../ci/web/model/current/TestFailuresSummary.java | 4 +- .../ignite/ci/web/rest/GetTrackedBranches.java | 21 +++- .../ci/web/rest/monitoring/MonitoringService.java | 1 + .../ignite/ci/web/rest/monitoring/UrlUsed.java | 1 + .../src/main/webapp/comparison.html | 84 ++++++++------ .../src/main/webapp/css/style-1.5.css | 21 ---- .../src/main/webapp/js/common-1.6.js | 4 +- .../src/main/webapp/js/testfails-2.1.js | 4 +- ignite-tc-helper-web/src/main/webapp/mutes.html | 56 ++++++++-- .../org/apache/ignite/ci/analysis/RunStatTest.java | 64 ----------- .../ci/tcbot/chain/PrChainsProcessorTest.java | 2 +- .../ignite/ci/tcbot/issue/IssueDetectorTest.java | 123 +++++++++++++++++++-- .../ignited/IgnitedTcInMemoryIntegrationTest.java | 39 +++---- .../ci/teamcity/ignited/TeamcityIgnitedMock.java | 16 +-- 64 files changed, 811 insertions(+), 487 deletions(-) diff --cc ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/issue/IssuesStorage.java index afe34ee,ef0a243..f7be686 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/issue/IssuesStorage.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/issue/IssuesStorage.java @@@ -17,20 -17,17 +17,21 @@@ package org.apache.ignite.ci.issue; +import java.util.stream.Stream; +import java.util.stream.StreamSupport; - import org.apache.ignite.Ignite; - import org.apache.ignite.IgniteCache; - + import java.util.ArrayList; + import java.util.List; + import java.util.stream.Stream; + import java.util.stream.StreamSupport; import javax.cache.Cache; import javax.inject.Inject; import javax.inject.Provider; - import java.util.ArrayList; - import java.util.List; - + import org.apache.ignite.Ignite; + import org.apache.ignite.IgniteCache; import org.apache.ignite.ci.db.TcHelperDb; import org.apache.ignite.ci.tcbot.issue.IIssuesStorage; ++import org.apache.ignite.ci.tcbot.issue.IIssuesStorage; +import org.apache.ignite.ci.user.TcHelperUser; public class IssuesStorage implements IIssuesStorage { public static final String BOT_DETECTED_ISSUES = "botDetectedIssues"; diff --cc ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java index 6a9c7ea,be26ec3..a507572 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java @@@ -46,13 -45,12 +45,18 @@@ import org.apache.ignite.ci.issue.Event import org.apache.ignite.ci.issue.EventTemplates; import org.apache.ignite.ci.issue.Issue; import org.apache.ignite.ci.issue.IssueKey; - import org.apache.ignite.ci.issue.IssuesStorage; + import org.apache.ignite.ci.jobs.CheckQueueJob; + import org.apache.ignite.ci.mail.EmailSender; + import org.apache.ignite.ci.mail.SlackSender; + import org.apache.ignite.ci.tcbot.chain.TrackedBranchChainsProcessor; + import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; + import org.apache.ignite.ci.tcbot.user.IUserStorage; +import org.apache.ignite.ci.jobs.CheckQueueJob; +import org.apache.ignite.ci.mail.EmailSender; +import org.apache.ignite.ci.mail.SlackSender; +import org.apache.ignite.ci.tcbot.chain.TrackedBranchChainsProcessor; +import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; +import org.apache.ignite.ci.tcbot.user.IUserStorage; import org.apache.ignite.ci.teamcity.ignited.IRunHistory; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited; diff --cc ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/issue/IssueDetectorTest.java index ae02fa1,a1b6f59..0944c9e --- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/issue/IssueDetectorTest.java +++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/issue/IssueDetectorTest.java @@@ -47,8 -55,8 +55,7 @@@ import static org.mockito.Mockito.when */ public class IssueDetectorTest { /** Server id. */ - public static final String SRV_ID = "apache"; - + public static final String SRV_ID = "apacheTest"; - /** Builds emulated storage. */ private Map<Integer, FatBuildCompacted> apacheBuilds = new ConcurrentHashMap<>(); @@@ -78,13 -86,33 +85,44 @@@ } ++ @NotNull public ChainAtServerTracked trackedChain(String suiteId) { ++ ChainAtServerTracked chain = new ChainAtServerTracked(); ++ ++ chain.serverId = SRV_ID; ++ chain.branchForRest = ITeamcity.DEFAULT; ++ chain.suiteId = suiteId; ++ ++ return chain; ++ } ++ ++ @Test - public void testDetector() { + public void testDetector() throws IOException { + String brachName = "masterTest"; + String chainId = TeamcityIgnitedImpl.DEFAULT_PROJECT_ID; BranchTracked branch = new BranchTracked(); - branch.id = FullQueryParams.DEFAULT_TRACKED_BRANCH_NAME; - branch.chains.add(trackedChain(TeamcityIgnitedImpl.DEFAULT_PROJECT_ID)); + branch.id = brachName; + branch.chains.add(trackedChain(chainId)); branchesTracked.addBranch(branch); + IStringCompactor c = injector.getInstance(IStringCompactor.class); + + Map<String, String> pds1Hist = new TreeMap<String, String>() { + { + put("testFailed", "0000011111"); + put("testOk", " 0000"); + } + }; + + Map<String, String> buildWoChanges = new TreeMap<String, String>() { + { + put("testFailedShoudlBeConsideredAsFlaky", "0000011111"); + put("testFlakyStableFailure", "0000011111111111"); + } + }; + + emulateHistory(chainId, c, pds1Hist, buildWoChanges); + IssueDetector issueDetector = injector.getInstance(IssueDetector.class); ICredentialsProv mock = mock(ICredentialsProv.class);
