On Sun, Oct 16, 2022 at 02:07:05PM +0200, Baptiste Jonglez wrote:
> Hi,
> 
> On 05-10-22, Thibaut wrote:
> > Hi,
> > 
> > Following an earlier conversation on IRC with Petr, I’m willing to work on 
> > refactoring our buildbot setup as follows:
> > 
> > - single master for each stage (images and packages)
> > - latent workers attached to either master, thus able to build 
> > opportunistically from either master or release branches as needed / as 
> > work becomes available
> 
> This is a good idea, but I see one main downside: we would probably have
> to use the same buildbot worker image for all releases.
> 
> From what I remember, when the worker image was updated from Debian 9 to
> Debian 10, this seriously broke 19.07 builds.  Maybe Petr or Jow will
> remember the details better.
> 
> I see two ways to address this:
> 
> - either buildbot can run latent workers with a different Docker image
>   depending on the build
>

IMHO, this would be the safest and better solution to the problem. But
this means that we will have to support 2 thing instead of having one
centrilized container.

> - otherwise, we have to think early about the update strategy.  Maybe use
>   the shared buildbot instance for master branch + most recent release
>   only, and move older releases back to a dedicated buildbot instance?
> 
> > The main upside is that all buildslaves could be pooled, improving overall 
> > throughput and reducing wasted « idle time », thus lowering build times and 
> > operating costs.
> > 
> > Petr also suggested that extra release workers could be spawned at will 
> > (through e.g. cloud VMs) when a new release is to be tagged; tagged release 
> > could be scheduled only to release workers: this would still work within 
> > this « single master » build scheme.
> > 
> > NB: I’m aware of the potential performance penalty of having buildslaves 
> > randomly switching between branches, so I would try to come up with a 
> > reasonably smart solution to this issue if it doesn’t conflict with the 
> > main goals.
> 
> One thing to look for is disk space usage.  Full disks is a common cause
> of build failures.  If a single worker goes through builds for different
> branches, I would expect disk usage to be higher (e.g. more different
> versions of software in dl/).
> 

Would be ideal to have one centrilized dl/ dir where each runner can go
and take the file. We already support that in openwrt (to have a
different dl dir) and there isn't any problem with having different
release tar for the same package.

-- 
        Ansuel

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to