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/24 18:33:27 UTC
[ignite-teamcity-bot] branch ignite-9848-load-all-builds updated:
Snapshot deps and flags supported for build
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
The following commit(s) were added to refs/heads/ignite-9848-load-all-builds by this push:
new 3b3c1d0 Snapshot deps and flags supported for build
3b3c1d0 is described below
commit 3b3c1d0f4cdb15908feb10a81b1984bc022f2ab3
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Wed Oct 24 21:33:06 2018 +0300
Snapshot deps and flags supported for build
---
.../org/apache/ignite/ci/tcmodel/result/Build.java | 4 ++
.../ci/teamcity/ignited/BuildRefCompacted.java | 7 ++-
.../ignited/fatbuild/FatBuildCompacted.java | 70 +++++++++++++++++++---
.../src/test/resources/statistics.xml | 23 +++++++
4 files changed, 96 insertions(+), 8 deletions(-)
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Build.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Build.java
index 9eaa544..8fec162 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Build.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Build.java
@@ -186,4 +186,8 @@ public class Build extends BuildRef implements IVersionedEntity {
public void setBuildType(BuildType type) {
buildType = type;
}
+
+ public void snapshotDependencies(List<BuildRef> dependencies) {
+ snapshotDependencies = dependencies;
+ }
}
\ No newline at end of file
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/BuildRefCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/BuildRefCompacted.java
index b63b03b..f3dacde 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/BuildRefCompacted.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/BuildRefCompacted.java
@@ -19,6 +19,7 @@ package org.apache.ignite.ci.teamcity.ignited;
import com.google.common.base.Objects;
import org.apache.ignite.ci.db.Persisted;
import org.apache.ignite.ci.tcmodel.hist.BuildRef;
+import org.jetbrains.annotations.NotNull;
@Persisted
public class BuildRefCompacted {
@@ -72,7 +73,11 @@ public class BuildRefCompacted {
res.branchName = compactor.getStringFromId(branchName);
res.status = compactor.getStringFromId(status);
res.state = compactor.getStringFromId(state);
- res.href = "/app/rest/latest/builds/id:" + id();
+ res.href = getHrefForId(id());
+ }
+
+ @NotNull protected static String getHrefForId(int id) {
+ return "/app/rest/latest/builds/id:" + id;
}
/** {@inheritDoc} */
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildCompacted.java
index e1fcd12..a92b2a5 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildCompacted.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildCompacted.java
@@ -17,10 +17,15 @@
package org.apache.ignite.ci.teamcity.ignited.fatbuild;
import java.util.ArrayList;
+import java.util.BitSet;
import java.util.List;
+import java.util.Objects;
+import java.util.stream.IntStream;
+import java.util.stream.Stream;
import org.apache.ignite.ci.analysis.IVersionedEntity;
import org.apache.ignite.ci.db.Persisted;
import org.apache.ignite.ci.tcmodel.conf.BuildType;
+import org.apache.ignite.ci.tcmodel.hist.BuildRef;
import org.apache.ignite.ci.tcmodel.result.Build;
import org.apache.ignite.ci.tcmodel.result.TestOccurrencesRef;
import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrence;
@@ -54,6 +59,10 @@ public class FatBuildCompacted extends BuildRefCompacted implements IVersionedEn
@Nullable private List<TestCompacted> tests;
+ @Nullable private int snapshotDeps[];
+
+ private BitSet flags = new BitSet();
+
/** {@inheritDoc} */
@Override public int version() {
return _ver;
@@ -72,21 +81,29 @@ public class FatBuildCompacted extends BuildRefCompacted implements IVersionedEn
/**
* @param compactor Compactor.
- * @param ref Reference.
+ * @param build Reference.
*/
- public FatBuildCompacted(IStringCompactor compactor, Build ref) {
- super(compactor, ref);
+ public FatBuildCompacted(IStringCompactor compactor, Build build) {
+ super(compactor, build);
- startDate = ref.getStartDate() == null ? -1L : ref.getStartDate().getTime();
- finishDate = ref.getFinishDate() == null ? -1L : ref.getFinishDate().getTime();
- queuedDate = ref.getQueuedDate() == null ? -1L : ref.getQueuedDate().getTime();
+ startDate = build.getStartDate() == null ? -1L : build.getStartDate().getTime();
+ finishDate = build.getFinishDate() == null ? -1L : build.getFinishDate().getTime();
+ queuedDate = build.getQueuedDate() == null ? -1L : build.getQueuedDate().getTime();
- BuildType type = ref.getBuildType();
+ BuildType type = build.getBuildType();
if (type != null) {
projectId = compactor.getStringId(type.getProjectId());
name = compactor.getStringId(type.getName());
}
+
+ int[] arr = build.getSnapshotDependenciesNonNull().stream()
+ .filter(b -> b.getId() != null).mapToInt(BuildRef::getId).toArray();
+
+ snapshotDeps = arr.length > 0 ? arr : null;
+
+ setFlag(0, build.defaultBranch);
+ setFlag(2, build.composite);
}
/**
@@ -128,6 +145,23 @@ public class FatBuildCompacted extends BuildRefCompacted implements IVersionedEn
testOccurrencesRef.count = tests.size();
res.testOccurrences = testOccurrencesRef;
}
+
+ if (snapshotDeps != null) {
+ List<BuildRef> snapshotDependencies = new ArrayList<>();
+ for (int i = 0; i < snapshotDeps.length; i++) {
+ int depId = snapshotDeps[i];
+
+ BuildRef ref = new BuildRef();
+ ref.setId(depId);
+ ref.href = getHrefForId(depId);
+ snapshotDependencies.add(ref);
+ }
+
+ res.snapshotDependencies(snapshotDependencies);
+ }
+
+ res.defaultBranch = getFlag(0);
+ res.composite = getFlag(2);
}
/**
@@ -145,6 +179,28 @@ public class FatBuildCompacted extends BuildRefCompacted implements IVersionedEn
}
}
+
+ private void setFlag(int off, Boolean val) {
+ flags.clear(off, off + 2);
+
+ boolean valPresent = val != null;
+ flags.set(off, valPresent);
+
+ if (valPresent)
+ flags.set(off + 1, val);
+ }
+
+
+ /**
+ * @param off Offset.
+ */
+ private Boolean getFlag(int off) {
+ if (!flags.get(off))
+ return null;
+
+ return flags.get(off + 1);
+ }
+
/**
* @param compactor Compactor.
*/
diff --git a/ignite-tc-helper-web/src/test/resources/statistics.xml b/ignite-tc-helper-web/src/test/resources/statistics.xml
new file mode 100644
index 0000000..9ee67a3
--- /dev/null
+++ b/ignite-tc-helper-web/src/test/resources/statistics.xml
@@ -0,0 +1,23 @@
+<!--https://ci.ignite.apache.org/app/rest/latest/builds/id:2153237/statistics-->
+<properties count="20">
+ <property name="ArtifactsSize" value="101706824"/>
+ <property name="BuildDuration" value="2499107"/>
+ <property name="BuildDurationNetTime" value="2462538"/>
+ <property name="buildStageDuration:artifactsPublishing" value="9173"/>
+ <property name="buildStageDuration:buildFinishing" value="43"/>
+ <property name="buildStageDuration:buildStepRUNNER_225" value="6069"/>
+ <property name="buildStageDuration:buildStepRUNNER_264" value="1178"/>
+ <property name="buildStageDuration:buildStepRUNNER_265" value="2454000"/>
+ <property name="buildStageDuration:buildStepRUNNER_266" value="459"/>
+ <property name="buildStageDuration:buildStepRUNNER_287" value="832"/>
+ <property name="buildStageDuration:dependenciesResolving" value="23940"/>
+ <property name="buildStageDuration:firstStepPreparation" value="1"/>
+ <property name="buildStageDuration:sourcesUpdate" value="3236"/>
+ <property name="BuildTestStatus" value="3"/>
+ <property name="FailedTestCount" value="1"/>
+ <property name="PassedTestCount" value="152"/>
+ <property name="SuccessRate" value="0"/>
+ <property name="TimeSpentInQueue" value="1931204"/>
+ <property name="TotalTestCount" value="172"/>
+ <property name="VisibleArtifactsSize" value="8116625"/>
+</properties>
\ No newline at end of file