Am Sun, 02 Jul 2017 19:53:05 +0000 schrieb Iain Buclaw <ibuc...@gdcproject.org>:
> Hi, > > After some lamenting I've finally gotten round to setting up a > buildbot for gdc. > > https://buildbot.dgnu.org > > Fitted with a smorgasbord of cross compiler builds, all of them > are broken in one way or another, given the definition of "not > broken" being: > > - Can build a usable compiler: all should be green here. > - Can build druntime and libphobos: I think only ARM holds this > title. > - Passes the testsuite with zero failures: There exist tests > that ICE on certain targets. > > It it my hope this encourages fixing broken targets, and flags up > regressions in build immediately, not months down the line later. > > Build configuration is available on github. Using docker so that > anyone can set up and debug failing builds locally. > > https://github.com/D-Programming-GDC/buildbot-gdc > > > Regards, > Iain. Nice. I had a similar idea but only managed to read through the first 120 pages of the buildbot manual last weekend ;-) Buildbot sounds really interesting as it seems to be highly customizable. The most complicated but also useful part seems to somehow use multiple workers for one build step. This is required for advanced cross compiler testing, though in a simple setup we can just dedicate one ARM machine to a X86 machine and simply keep the ARM machine out of the buildbot configuration. The X86 can then use standard dejagnu+ssh to connect to the ARM machine. Another interesting thing is support of libvirt, so we should be able to test in virtualized QEMU VMs. For some architectures hardware for testing seems hard to come by (ARM and MIPS is easy, but SH4, PPC, ...). One thin buildbot doesn't seem to support out of the box is a docker latent worker hosted in a libvirt latent worker, but I guess this shouldn't be difficult to add. Regarding failing builds, seems like the new ARM arm-d.c file is just missing an import. AArch64, s390, hppa, ppc, sh4, mips and alpha are OK (as in fail in druntime). For gnuspe and sparc64 seems like the new config mechanism is broken. BTW: Do you know if there's any way to cluster builds by branch on the buildbot main page? I haven't gotten that far in the docs yet ;-) -- Johannes