Re: [RFC] Proposal for hosting GDB CI builds

Luis Machado via Gdb
2021-07-01T11:48:58Z

Hi Rainer,

On 7/1/21 6:40 AM, Rainer Orth wrote:
> Hi Luis,
>
>> Linaro can take care of providing builders and build jobs for ARM. Other
>> architectures would be handled by their respective contributors. Those
>> contributors can write jobs and plug builders as needed.
>
> thanks for coming forward with this: this is very welcome, given how
> easy it is to miss build failures and other issues especially on
> not-so-common targets.
>
> However, is there any documentation on setting up new builders? I've
> never dealt with Jenkins before, and from glimpsing over the docs some
> time ago when Jeff Law talked about extending this GCC builders to a
> wider range of architectures left me completely at a loss: the whole
> thing felt like a total moloch with an incredible range of abilities,
> but little to no guidance on how to start. If the GDB CI wants to
> extend beyond a Linux-only range of targets, I believe considerable
> documentation is necessary to make this happen.

I know the feeling. I've been there myself as Jenkins is indeed a very
flexible tool. And I don't, by any means, claim to be an expert on
dealing with it.

Usually what I do is to peak at the documentation and at what others
have implemented. Then I work on extending/modifying things to my needs.

The GDB build job (currently running for aarch64/armhf/x86_64) I put
together is here:

https://git.linaro.org/ci/job/configs.git/tree/tcwg-gdb.yaml

But I expect we will have to adjust this to make it a bit more generic
so other architectures can use it.

>
> Besides, I seem to have glimpsed from the Linaro instance that the
> builders use Docker. Is this a requirement or just a convenience? I'm
> asking because there's no current Docker port to Solaris (there used to
> be one based on zones, but it's no longer maintained) and the
> buildbot-based builders I'm running (for both LLVM and GDB) do fine
> without.

That is a convenience so we can share hardware resources. It is possible
to use real hardware to run the jobs. One may need to adjust the
configurations a bit (distro, packages etc), but a job can automate some
of that. Details about distros to use and packages to install still need
to be investigated/discussed.

>
> Thanks.
> Rainer
>