Set-up Buildbot for GDC
Iain Buclaw via D.gnu
d.gnu at puremagic.com
Tue Jul 4 11:42:52 PDT 2017
On 4 July 2017 at 12:10, Johannes Pfau via D.gnu <d.gnu at 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.
More information about the D.gnu
mailing list