On 4 July 2017 at 12:10, Johannes Pfau via D.gnu <d.gnu@puremagic.com> wrote: > > 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. >
Yeah, I think just using dejagnu + remote testing would be the way to go. This can be part of the buildci.sh script (which should be merged with semaphoreci.sh). In any case, there should probably be a way to disable/skip runnable tests if host != target. https://gcc.gnu.org/onlinedocs/gccint/Directives.html#Directives { dg-do run [{ target $host_triplet }] } Probably not the wisest thing to do though. > 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. > How do these look? https://www.scaleway.com/armv8-cloud-servers/ They also have ARMv7's too, I'm currently paying around 18€ a month for the current linode box - 50G SSD, 4G memory, 2x cores. For the same price, could order the following kit for use as build workers. ARMv8: 50G SSD, 2G memory, 4x cores. (aarch64 native) ARMv7: 50G SSD, 2G memory, 4x cores. (arm native) x86_64: 100G SSD, 4G memory, 4x cores. (all cross compilers) Then move all hosted sites + database stuff to a cheap box. x86_64: 50G SSD, 2G memory, 2x cores. Should all come up to 14€ a month, unless there are hidden costs. :-) Could even add another cheap x86 box and have that do x86_64 native builds also - but semaphoreCI is doing well enough for that purpose so far... > > 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. > Yep, as this is dockerized, anyone can build + debug locally. This the patches should be fixed asap. Also, if you look at the runtests (skipping over the unresolved bits), you'll see that a few of them ICE. I've noticed this for aarch64, maybe others do the same. This is another thing that should be investigated and fixed. In other words, I would like to get all of them green, but only have so much time. I better start by filtering out the noise first. :-) > 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 ;-) > Doesn't look like it. https://github.com/buildbot/buildbot/blob/0d44f0344ff82b707d02c75871df23c5f6b9cb8f/www/base/src/app/home/home.tpl.jade#L18-L24 Regards, Iain.