<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 19, 2016 at 6:49 PM, Vojtech Szocs <span dir="ltr">&lt;<a href="mailto:vszocs@redhat.com" target="_blank">vszocs@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
----- Original Message -----<br>
&gt; From: &quot;Sandro Bonazzola&quot; &lt;<a href="mailto:sbonazzo@redhat.com">sbonazzo@redhat.com</a>&gt;<br>
&gt; To: &quot;Eyal Edri&quot; &lt;<a href="mailto:eedri@redhat.com">eedri@redhat.com</a>&gt;<br>
&gt; Cc: &quot;Juan Hernandez&quot; &lt;<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt;, &quot;infra&quot; &lt;<a href="mailto:infra@ovirt.org">infra@ovirt.org</a>&gt;, &quot;devel&quot; &lt;<a href="mailto:devel@ovirt.org">devel@ovirt.org</a>&gt;<br>
&gt; Sent: Monday, September 19, 2016 8:41:12 AM<br>
&gt; Subject: Re: [ovirt-devel] Dropping rpm build from ovirt-engine       check-merged.sh<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Sun, Sep 18, 2016 at 4:18 PM, Eyal Edri &lt; <a href="mailto:eedri@redhat.com">eedri@redhat.com</a> &gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Hi,<br>
&gt;<br>
&gt; Following [1] I&#39;d like to propose to remove rpm building from the<br>
&gt; &#39;check-merged.sh&#39; script from ovirt-engine (master for now).<br>
&gt;<br>
&gt; The job [2] takes on avg 15 min while actually the rpms are built already in<br>
&gt; check-patch<br>
&gt; (with gwt draft mode if needed) and runs exactly the same build rpm command<br>
&gt; as check-patch [3].<br>
&gt;<br>
&gt; So there isn&#39;t real value in running exactly the same rpm build post merge,<br>
&gt; and we already build full permutation mode in &#39;build-artifacts.sh&#39;.<br>
&gt;<br>
&gt; Any reason to keep it?<br>
&gt; We can cut down valuable time in CI if we drop it and vacant more time for<br>
&gt; more meaningful tests.<br>
&gt;<br>
&gt;<br>
&gt; This depends on the flow: if we make check_merge gating to the merge and to<br>
&gt; the build we should keep the rpm build becuase at merge a rebase is done<br>
&gt; automatically.<br>
&gt; If there&#39;s not gating process performed by check-merge then I agree in<br>
&gt; dropping rpm build.<br>
<br>
</span>First of all, for oVirt Engine snapshot (non-release) builds, we should<br>
avoid doing a full GWT compilation [all browsers x all locales]. That&#39;s<br>
simply because the full GWT compilation is too costly for CI to run on<br>
a regular basis.<br></blockquote><div><br></div><div>+1, It also makes us find regressions slower because it takes more than 1 hour to build + consume very valuable resource which is BM slave.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Doing [Firefox + Chrome x English = 2 permutations] &amp;&amp; [draft GWT build<br>
option enabled] for snapshot builds should be enough.<br>
<br>
The *only* downside of not doing a full GWT build is that problems with<br>
localization resources [e.g. non-English .properties files] will not be<br>
reported by the GWT compiler. But we have Java unit tests to cover this,<br>
so it should be OK. (And if not, we must improve those tests.)<br>
<br>
In general, we should do a full GWT compilation only for release builds.<br>
Eyal mentioned at [1] that his team is working on<br>
<br>
  &#39;build official manual&#39; option to standard CI<br></blockquote><div><br></div><div>Already merged and working for most projects.who requested it, also part of standard CI.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
so that would be a great place to document &amp; perform the full GWT build.<br>
<br>
As for build jobs: if `check-merged` is indeed acting as gate for merge<br>
[fail of `check-merged` =&gt; patch not merged</blockquote><div><br></div><div>its not the case today, we&#39;ll need to install Zuul for that, which is in the plan (including system tests).</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">, `build-artifacts` does not<br>
execute], then it actually makes sense to:<br>
<br>
- keep `check-merged` doing a (draft) GWT build + Engine RPM build<br>
- maybe skip GWT build in `check-patch` [right now, there&#39;s detection<br>
  logic =&gt; if frontend files were changed, do GWT build]<br>
<br>
Otherwise, if `check-merged` doesn&#39;t act as gate for merge, we can just<br>
skip GWT build / Engine RPM build for that script.<br></blockquote><div><br></div><div>Yea, doesn&#39;t act as gate, it just run post merge.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; [1] <a href="https://ovirt-jira.atlassian.net/browse/OVIRT-416" rel="noreferrer" target="_blank">https://ovirt-jira.atlassian.<wbr>net/browse/OVIRT-416</a><br>
&gt; [2]<br>
&gt; <a href="http://jenkins.ovirt.org/job/ovirt-engine_master_check-merged-el7-x86_64/buildTimeTrend" rel="noreferrer" target="_blank">http://jenkins.ovirt.org/job/<wbr>ovirt-engine_master_check-<wbr>merged-el7-x86_64/<wbr>buildTimeTrend</a><br>
&gt; [3]<br>
&gt; rpmbuild \<br>
&gt; -D &quot;_rpmdir $PWD/output&quot; \<br>
&gt; -D &quot;_topmdir $PWD/rpmbuild&quot; \<br>
&gt; -D &quot;release_suffix ${SUFFIX}&quot; \<br>
&gt; -D &quot;ovirt_build_ut $BUILD_UT&quot; \<br>
&gt; -D &quot;ovirt_build_extra_flags $EXTRA_BUILD_FLAGS&quot; \<br>
&gt; -D &quot;ovirt_build_draft 1&quot; \<br>
&gt; --rebuild output/*.src.rpm<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Eyal Edri<br>
&gt; Associate Manager<br>
&gt; RHV DevOps<br>
&gt; EMEA ENG Virtualization R&amp;D<br>
&gt; Red Hat Israel<br>
&gt;<br>
&gt; phone: <a href="tel:%2B972-9-7692018" value="+97297692018">+972-9-7692018</a><br>
&gt; irc: eedri (on #tlv #rhev-dev #rhev-integ)<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Sandro Bonazzola<br>
&gt; Better technology. Faster innovation. Powered by community collaboration.<br>
&gt; See how it works at <a href="http://redhat.com" rel="noreferrer" target="_blank">redhat.com</a><br>
&gt;<br>
&gt;<br>
</span>&gt; ______________________________<wbr>_________________<br>
&gt; Devel mailing list<br>
&gt; <a href="mailto:Devel@ovirt.org">Devel@ovirt.org</a><br>
&gt; <a href="http://lists.ovirt.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.ovirt.org/<wbr>mailman/listinfo/devel</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Eyal Edri<br>Associate Manager</div><div>RHV DevOps<br>EMEA ENG Virtualization R&amp;D<br>Red Hat Israel<br><br>phone: +972-9-7692018<br>irc: eedri (on #tlv #rhev-dev #rhev-integ)</div></div></div></div></div></div></div>
</div></div>