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