On Wed, 2012-04-18 at 17:43 -0700, Sriram Ramkrishna wrote: > > > On Wed, Apr 18, 2012 at 4:45 PM, Colin > > The issue is not so much time as unreliability. I've tried to > address > some of those with jhbuild, but there are two major ones > remaining: > > 1) Building from unclean source tree - stale Makefiles, > leftover > binaries, etc. > 2) Our lack of multi-module continuous integration > > > > There should be a continuous build going on, and when it fails the > module owner should be informed that their module has failed and it > should be fixed, IMHO. > > I think a lot of people would thank us. Honestly, I think if we just: * added a couple more buildbots to http://build.gnome.org/ * ensured buildbot uptime and operation * ensured they all mailed maintainers upon build failures we would be in much better shape. Though there are some unique problems with jhbuild that can make this hard to get right (which is why I suspect we don't already notify about build errors). Some of these (off the top of my head) are: * build system errors * maintainer error (invalid build config) * autotools/macro annoyances (eg, failure to pull in libtool macros) * wedged build state 'make *clean' won't fix (must git clean -xdf) * older installed library versions cause linking errors * this happened with GLib in recent memory (this cycle or last) * older version must be uninstalled to resolve * if the build bot builds from scratch regularly, they won't hit this error that developers easily can * "soft" ABI breaks (eg, g-i or Vala) which can require a combination of re-building and even first uninstalling several intermediate modules * this gave Folks a lot of trouble, especially in the beginning * g-i and Vala have mostly settled these issues, but I would hate to have another up-and-coming dependency run us through the same issues I'm sure there are some I'm forgetting. But the reason these would be hard to solve is that they mostly can't be fixed by the maintainers after-the-fact. There's no way to propagate a "jhbuild uninstall <module>; jhbuild buildone <module>" to jhbuild users (though I honestly wonder if the issues that this would fix can't be solved in a more natural way). I think if we wanted rock-solid buildability, we would need two-stage mainlining (where "Gnome mainline" repos would only pull the latest "maintainer mainline" commits if they built successfully on the buildbots). I can imagine avalanche of reasons why this would be infeasible for our development model. But I think until we can resolve problems like the one ones above (and throughout this thread), building most modules and their dependencies through jhbuild will remain an exercise in frustration, limiting it to very dedicated contributors. -Travis
Attachment:
smime.p7s
Description: S/MIME cryptographic signature