<div dir="ltr">Follow up.<div><br></div><div>We tested with Pablo how these options work on a separate repository/job.</div><div><br></div><div>I just integrated these changes, and they effectively disable concurrent builds on the development branch. PRs are still being validated concurrently.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 13, 2017 at 11:37 AM, Guillermo Polito <span dir="ltr"><<a href="mailto:guillermopolito@gmail.com" target="_blank">guillermopolito@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Well, apparently there is an option to disable concurrent builds, and we should be able to make it work only for the development branch.<div><br></div><div><a href="https://jenkins.io/doc/book/pipeline/syntax/#options" target="_blank">https://jenkins.io/doc/book/<wbr>pipeline/syntax/#options</a><br></div><div><a href="https://stackoverflow.com/questions/41492688/how-to-limit-jenkins-concurrent-multibranch-pipeline-builds" target="_blank">https://stackoverflow.com/<wbr>questions/41492688/how-to-<wbr>limit-jenkins-concurrent-<wbr>multibranch-pipeline-builds</a><br></div><div><a href="https://issues.jenkins-ci.org/browse/JENKINS-46593" target="_blank">https://issues.jenkins-ci.org/<wbr>browse/JENKINS-46593</a><br></div><div><br></div><div>I've opened the following issue:<br></div><div><br></div><div><a href="https://pharo.fogbugz.com/f/cases/20541/Diable-concurrent-builds-for-the-development-branch" target="_blank">https://pharo.fogbugz.com/f/<wbr>cases/20541/Diable-concurrent-<wbr>builds-for-the-development-<wbr>branch</a><br></div><div><br></div><div>and the following PR:</div><div><br></div><div><a href="https://github.com/pharo-project/pharo/pull/363" target="_blank">https://github.com/pharo-<wbr>project/pharo/pull/363</a><br></div><div><br></div><div>Could you review/check? I'm in the middle of a meeting right now :)</div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 13, 2017 at 9:40 AM, Guillermo Polito <span dir="ltr"><<a href="mailto:guillermopolito@gmail.com" target="_blank">guillermopolito@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Thu, Oct 12, 2017 at 9:23 PM, Torsten Bergmann <span dir="ltr"><<a href="mailto:astares@gmx.de" target="_blank">astares@gmx.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Guille,<br>
<br>
I understand that we want run the pull requests for contributions in parallel. But do we want to run also  the main build for<br>
the daily official relase in parallel to have such side effects? I doubt that.<br>
<br>
As I wrote it is not only an issue of the file server. The zero conf does not give you the latest<br>
although available (which is bad if you want to do the next contribution) and we inform about<br>
later build earlier than previous builds, etc.<br></blockquote><div><br></div></span><div>Yes, I agree that this is a real issue. The reason is the following: every build, all artifacts are uploaded to the file server + a copy named latest.zip, which is used by zeroconf scripts. latest.zip is overwritten on every build. This means that the last build to finish is the last that writes to latest.zip.</div><span><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Sure it would be "nice" if our future Pharo 12 would already be available before we release Pharo 7 - but it<br>
still is not correct and confuses people ;)<br>
<br>
So is there anything that can be done to improve/solve this?<br></blockquote><div><br></div></span><div>I'll check the options and come back to everybody here.</div><div><div class="m_4721969926287346212h5"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks<br>
T.<br>
<br>
<br>
Am 12.10.2017 um 16:12 schrieb Guillermo Polito:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>
<br>
<br>
On Thu, Oct 12, 2017 at 4:01 PM, Norbert Hartl <<a href="mailto:norbert@hartl.name" target="_blank">norbert@hartl.name</a> <mailto:<a href="mailto:norbert@hartl.name" target="_blank">norbert@hartl.name</a>>> wrote:<br>
<br>
<br>
    > Am 12.10.2017 um 14:23 schrieb Torsten Bergmann <<a href="mailto:astares@gmx.de" target="_blank">astares@gmx.de</a><br></span>
    <mailto:<a href="mailto:astares@gmx.de" target="_blank">astares@gmx.de</a>>>:<div><div class="m_4721969926287346212m_4653516904449459332h5"><br>
    ><br>
    > Hi,<br>
    ><br>
    > today there was an interesting effect visible for the Pharo<br>
    build on CI for Pharo 7:<br>
    ><br>
    > Esteban merged three contributions for Pharo 7 into #development<br>
    (see [1]). All three merges on git triggered the CI.<br>
    > For each a separate build for Pharo 7 started on CI independently.<br>
    ><br>
    > While usually one would expect the builds in regular build order<br>
    183, 184, 185 the CI job for building 185 job was faster<br>
    > (as you can see on the attached screenshot).<br>
    ><br>
    > So the 185 series of images was copied first to the file server<br>
    [3] because the job was already finished.<br>
    > Afterwards 183 build completed on CI and these images were<br>
    copied to the file server with a newer timestamp.<br>
    ><br>
    > So you have the order 185, 183 with 183 having the files with<br>
    the newest timestamp (but not being the most recent state of Pharo).<br>
    ><br>
    > This leads to several unfortunate effects:<br>
    >  1. When you sort on file server [3] descending by date the<br>
    build 183 images are newer than the build 185 images<br>
    >  2. When you use PharoLauncher to download "latest-32" you get<br>
    an 183 image instead of the "real latest" 185 image<br>
    >  3. When you ask Zeroconf to download the latest using<br>
    <a href="http://get.pharo.org/70+vm" rel="noreferrer" target="_blank">http://get.pharo.org/70+vm</a> you also get 183 instead of the already<br>
    >     available 185<br>
    ><br>
    > So as the CI build of an older "update" (here 183) finished<br>
    later than the most recent version (here 185)<br>
    > you get 183 as "latest" instead of 185.<br>
    ><br>
    > Any ideas how we could avoid such a side effect? Maybe a chain<br>
    on the builds so 183 has to finished before 184 and 185 could be<br>
    > built?<br>
    ><br>
    I don't understand why it is working like this. Usually only build<br>
    for a job is active, others will be queued. So the problem here is<br>
    that<br>
    the jenkins spawns more builds in parallel for the same job.<br>
<br>
<br>
Yes, the thing is that the same job is being used to build the development branch and the pull requests.<br>
If you think about it, this is the same setup as in travis.<br>
<br>
The thing is that this does not bother me too much, considering the tradeoffs.<br>
<br>
- I want pull request to run in parallel.<br>
- I want to have less things to maintain :)<br>
<br>
Now,<br>
 - we could split the job in two (integration vs pr validation). But this requires setting up a separate jenkins because otherwise they share the same slave configuration :/. And there is no way in the actual state of the plugins we use to limit the number of parallel builds...<br>
 - we could try to make a build wait until a build with lower build number is building...<br>
 - we could also forbid Esteban to push on the merge button while a build is running<br>
But doing any of those is a lot of work...<br>
<br>
- Moreover, I think the problem is that we are using the file server as something it is not. The file server is... a file server.<br>
Ideally, I'd like to attach meta-data to a release/build artifact, and be able to browse/search/sort using that metadata. Something alike artifactory or bintray.<br>
<br>
- Also, I don't know how the pharo launcher is getting the latest image, but if instead of using the file timestamp it uses the build number, then this may be fixed, isn't it?<br>
<br>
<br>
    Norbert<br>
<br>
    > Thx<br>
    > T.<br>
    ><br>
    ><br>
    ><br>
    > [1] <a href="https://github.com/pharo-project/pharo/commits/development" rel="noreferrer" target="_blank">https://github.com/pharo-proje<wbr>ct/pharo/commits/development</a><br>
    <<a href="https://github.com/pharo-project/pharo/commits/development" rel="noreferrer" target="_blank">https://github.com/pharo-proj<wbr>ect/pharo/commits/development</a>><br>
    > [2]<br>
    <a href="https://ci.inria.fr/pharo-ci-jenkins2/job/Test%20pending%20pull%20request%20and%20branch%20Pipeline/job/development" rel="noreferrer" target="_blank">https://ci.inria.fr/pharo-ci-j<wbr>enkins2/job/Test%20pending%20p<wbr>ull%20request%20and%20branch%2<wbr>0Pipeline/job/development</a><br>
    <<a href="https://ci.inria.fr/pharo-ci-jenkins2/job/Test%20pending%20pull%20request%20and%20branch%20Pipeline/job/development" rel="noreferrer" target="_blank">https://ci.inria.fr/pharo-ci-<wbr>jenkins2/job/Test%20pending%20<wbr>pull%20request%20and%20branch%<wbr>20Pipeline/job/development</a>><br>
    > [3] <a href="http://files.pharo.org/image/70/" rel="noreferrer" target="_blank">http://files.pharo.org/image/7<wbr>0/</a><br></div></div>
    <<a href="http://files.pharo.org/image/70/" rel="noreferrer" target="_blank">http://files.pharo.org/image/<wbr>70/</a>><br>
    > <buildOrder.png><br>
<br>
<br>
<br>
<br>
-- <br><span>
<br>
        <br>
<br>
Guille Polito<br>
<br>
Research Engineer<br>
<br>
Centre de Recherche en Informatique, Signal et Automatique de Lille<br>
<br>
CRIStAL - UMR 9189<br>
<br></span>
French National Center for Scientific Research - _<a href="http://www.cnrs.fr_" rel="noreferrer" target="_blank">http://www.cnrs.fr_</a><br>
<br>
<br>
*Web:* _<a href="http://guillep.github.io_" rel="noreferrer" target="_blank">http://guillep.github.io_</a><br>
<br>
*Phone: *<a href="tel:%2B33%2006%2052%2070%2066%2013" value="+33652706613" target="_blank">+33 06 52 70 66 13</a><br>
<br>
</blockquote>
<br>
</blockquote></div></div></div><br><br clear="all"><div><br></div>-- <br><div class="m_4721969926287346212m_4653516904449459332gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><table cellspacing="0" cellpadding="0" style="border-collapse:collapse">
<tbody>
<tr>
<td valign="top" style="width:86.0px;height:84.0px;border-style:solid;border-width:0.0px 1.0px 0.0px 0.0px;border-color:transparent #000000 transparent transparent;padding:4.0px 4.0px 4.0px 4.0px">
<p style="margin:0.0px 0.0px 0.0px 0.0px;min-height:14.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)"> </font><span style="font-family:Helvetica;font-size:10px"> </span><span style="font-family:Helvetica;font-size:10px"> </span><img src="https://www.cristal.univ-lille.fr//videos/presentation.jpg" width="200" height="112"><img src="https://intranet.cnrs.fr/Cnrs_pratique/communiquer/guides/PublishingImages/CNRS-filaire-Bichro-CMJN.jpg" alt="" style="font-size:12.8px;margin:5px" width="96" height="96"></p>















</td><td valign="top" style="width:378.0px;height:84.0px;border-style:solid;border-width:0.0px 0.0px 0.0px 1.0px;border-color:transparent transparent transparent #000000;padding:4.0px 4.0px 4.0px 4.0px"><span><p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)">Guille Polito</font></p><p style="margin:0.0px 0.0px 0.0px 0.0px"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:10px">Research Engineer</span></p><p style="margin:0px;font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0);min-height:10px"><font></font></p><p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)">Centre de Recherche en Informatique, Signal et Automatique de Lille</font></p><p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)">CRIStAL - UMR 9189</font></p>
</span><p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)">French National Center for Scientific Research - <font><u><a href="http://www.cnrs.fr" target="_blank">http://www.cnrs.fr</a></u></font></font></p><p style="margin:0px;font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0);min-height:10px"><br></p>
<p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)"><b>Web:</b> <a href="http://guillep.github.io" target="_blank"><font><u>http://guillep.github.io</u></font></a></font></p>
<p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)"><b>Phone: </b><a href="tel:+33%206%2052%2070%2066%2013" value="+33652706613" target="_blank">+33 06 52 70 66 13</a></font></p>
</td>
</tr>
</tbody>
</table></div></div></div></div>
</div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="m_4721969926287346212gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><table cellspacing="0" cellpadding="0" style="border-collapse:collapse">
<tbody>
<tr>
<td valign="top" style="width:86.0px;height:84.0px;border-style:solid;border-width:0.0px 1.0px 0.0px 0.0px;border-color:transparent #000000 transparent transparent;padding:4.0px 4.0px 4.0px 4.0px">
<p style="margin:0.0px 0.0px 0.0px 0.0px;min-height:14.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)"> </font><span style="font-family:Helvetica;font-size:10px"> </span><span style="font-family:Helvetica;font-size:10px"> </span><img src="https://www.cristal.univ-lille.fr//videos/presentation.jpg" width="200" height="112"><img src="https://intranet.cnrs.fr/Cnrs_pratique/communiquer/guides/PublishingImages/CNRS-filaire-Bichro-CMJN.jpg" alt="" style="font-size:12.8px;margin:5px" width="96" height="96"></p>















</td><td valign="top" style="width:378.0px;height:84.0px;border-style:solid;border-width:0.0px 0.0px 0.0px 1.0px;border-color:transparent transparent transparent #000000;padding:4.0px 4.0px 4.0px 4.0px"><p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)">Guille Polito</font></p><p style="margin:0.0px 0.0px 0.0px 0.0px"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:10px">Research Engineer</span></p><p style="margin:0px;font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0);min-height:10px"><font></font></p><p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)">Centre de Recherche en Informatique, Signal et Automatique de Lille</font></p><p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)">CRIStAL - UMR 9189</font></p>
<p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)">French National Center for Scientific Research - <font><u><a href="http://www.cnrs.fr" target="_blank">http://www.cnrs.fr</a></u></font></font></p><p style="margin:0px;font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0);min-height:10px"><br></p>
<p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)"><b>Web:</b> <a href="http://guillep.github.io" target="_blank"><font><u>http://guillep.github.io</u></font></a></font></p>
<p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)"><b>Phone: </b><a href="tel:+33%206%2052%2070%2066%2013" value="+33652706613" target="_blank">+33 06 52 70 66 13</a></font></p>
</td>
</tr>
</tbody>
</table></div></div></div></div>
</div>
</div></div></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"><table cellspacing="0" cellpadding="0" style="border-collapse:collapse">
<tbody>
<tr>
<td valign="top" style="width:86.0px;height:84.0px;border-style:solid;border-width:0.0px 1.0px 0.0px 0.0px;border-color:transparent #000000 transparent transparent;padding:4.0px 4.0px 4.0px 4.0px">
<p style="margin:0.0px 0.0px 0.0px 0.0px;min-height:14.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)"> </font><span style="font-family:Helvetica;font-size:10px"> </span><span style="font-family:Helvetica;font-size:10px"> </span><img src="https://www.cristal.univ-lille.fr//videos/presentation.jpg" width="200" height="112"><img src="https://intranet.cnrs.fr/Cnrs_pratique/communiquer/guides/PublishingImages/CNRS-filaire-Bichro-CMJN.jpg" alt="" style="font-size:12.8px;margin:5px" width="96" height="96"></p>















</td><td valign="top" style="width:378.0px;height:84.0px;border-style:solid;border-width:0.0px 0.0px 0.0px 1.0px;border-color:transparent transparent transparent #000000;padding:4.0px 4.0px 4.0px 4.0px"><p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)">Guille Polito</font></p><p style="margin:0.0px 0.0px 0.0px 0.0px"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:10px">Research Engineer</span></p><p style="margin:0px;font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0);min-height:10px"><font></font></p><p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)">Centre de Recherche en Informatique, Signal et Automatique de Lille</font></p><p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)">CRIStAL - UMR 9189</font></p>
<p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)">French National Center for Scientific Research - <font><u><a href="http://www.cnrs.fr" target="_blank">http://www.cnrs.fr</a></u></font></font></p><p style="margin:0px;font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0);min-height:10px"><br></p>
<p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)"><b>Web:</b> <a href="http://guillep.github.io" target="_blank"><font><u>http://guillep.github.io</u></font></a></font></p>
<p style="margin:0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" color="#000000" style="font-stretch:normal;font-size:10px;line-height:normal;font-family:Helvetica;color:rgb(0,0,0)"><b>Phone: </b>+33 06 52 70 66 13</font></p>
</td>
</tr>
</tbody>
</table></div></div></div></div>
</div>