![](https://secure.gravatar.com/avatar/05cc0c09b08e1f56627366aed454f829.jpg?s=120&d=mm&r=g)
On Thu, Jun 11, 2015 at 12:45 AM, Kubilay Kocak <koobs@freebsd.org> wrote:
Thanks for setting this up Zach.
You're welcome :)
I've kept my slaves (koobs-*) updated since they were brought online, including running the latest buildbot releases (currently latest), and updating to the latest branch versions (read: future next release) of FreeBSD. There have been no issues doing so.
And thank you for that.
I think there's a few things that can be done to improve the situation, both in the short and longer term:
- Progressively update all buildbots to the latest buildbot version. This allows any new features/configurations to be used, with less risk of incompatible changes.
I'm for that. I'm also for updating the master, but that's going to take some extra work (we have our own patches to the master). It'll take a while to get everything updated, though.
- Recreate the 'stable' builders list to account for buildslave fleet changes since it was last modified.
I also agree with this. I'll go through and make up a list at some point, which we can then discuss here (or if anybody else wants to make up such a list before I have a chance, please do :)).
Additionally:
Right now each os-arch combination is a standalone bot/config and highly static in nature.
The biggest gain I can see to be had is to evolve the master build configuration to:
Segment/Class build configurations on the master to gain greater coverage of under-tested components and new build-types. Some examples are:
- --shared builds vs non-shared builds
- using system ffi, vs not (this might even help de-vendor libffi!)
- compiler: gcc vs clang (FreeBSD has both on 9.x)
- Architecture builders (x86_64, x86-32, mips, arm, blah)
Python would benefit by:
- Allowing each buildslave to be used in multiple build classes
- Greater coverage in build related infrastructure (notoriously problematic)
- Allow a 'build class' oriented view of build results, rather than just by OS.
Once a new builder class is created, it is then just a matter of adding in the buildslaves that support that buildtype or features.
This sounds interesting, and I'd like to hear more about how exactly you would set this up. However, I agree with David that we need to be sure not to overload the slaves with less guts, and also that we should hold off on this kind of change until the other points mentioned above are addressed.
-- Zach