[Pharo-dev] CI Build order and strange "latest" Pharo 7 effect

Norbert Hartl norbert at hartl.name
Thu Oct 12 10:01:22 EDT 2017


> Am 12.10.2017 um 14:23 schrieb Torsten Bergmann <astares at gmx.de>:
> 
> Hi,
> 
> today there was an interesting effect visible for the Pharo build on CI for Pharo 7:
> 
> Esteban merged three contributions for Pharo 7 into #development (see [1]). All three merges on git triggered the CI.
> For each a separate build for Pharo 7 started on CI independently. 
> 
> While usually one would expect the builds in regular build order 183, 184, 185 the CI job for building 185 job was faster 
> (as you can see on the attached screenshot).
> 
> So the 185 series of images was copied first to the file server [3] because the job was already finished. 
> Afterwards 183 build completed on CI and these images were copied to the file server with a newer timestamp. 
> 
> So you have the order 185, 183 with 183 having the files with the newest timestamp (but not being the most recent state of Pharo).
> 
> This leads to several unfortunate effects:
>  1. When you sort on file server [3] descending by date the build 183 images are newer than the build 185 images
>  2. When you use PharoLauncher to download "latest-32" you get an 183 image instead of the "real latest" 185 image
>  3. When you ask Zeroconf to download the latest using http://get.pharo.org/70+vm you also get 183 instead of the already
>     available 185
> 
> So as the CI build of an older "update" (here 183) finished later than the most recent version (here 185) 
> you get 183 as "latest" instead of 185.
> 
> Any ideas how we could avoid such a side effect? Maybe a chain on the builds so 183 has to finished before 184 and 185 could be
> built?
> 
I don't understand why it is working like this. Usually only build for a job is active, others will be queued. So the problem here is that
the jenkins spawns more builds in parallel for the same job.

Norbert

> Thx
> T.
> 
> 
> 
> [1] https://github.com/pharo-project/pharo/commits/development
> [2] https://ci.inria.fr/pharo-ci-jenkins2/job/Test%20pending%20pull%20request%20and%20branch%20Pipeline/job/development
> [3] http://files.pharo.org/image/70/
> <buildOrder.png>




More information about the Pharo-dev mailing list