[RFC] Proposal for hosting GDB CI builds

Luis Machado via Gdb
2021-06-30T16:46:42Z

Hi,

This proposal comes as an attempt to revive the GDB CI builds, given the
previous one (buildbot) is no longer being maintained by Sergio (thanks
a lot for keeping it working for all these years by the way).

CI GDB builds are a great help for spotting regressions without having
to do the tedious and time-consuming work of running the GDB testsuite
for each git revision, for each architecture and reading through
hundreds of lines of summaries. If a regression is spotted, then one
needs to bisect to find the culprit. This isn't great, specially for
architectures without great availability of desktop hardware.

Ideally, for each commit, we'd run full builds to validate the state of
the tree, but we're not quite there yet. So meanwhile, having some level
of automation to get the builds done without manual intervention sounds
like a reasonable step forward.

From previous IRC conversations, it seems to be a consensus that
availability of processing power is not a problem. It is reasonably easy
to find hardware to do some builds. The most difficult resource to find
is manpower to setup the CI infrastructure and keep it running.

With the above said, I've discussed this internally at Linaro and we can
spare some manpower to setup and maintain an isolated Linaro-hosted
Jenkins instance for GDB CI builds.

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.

Setting up new jobs doesn't require the use of the web interface. It can
be done with yaml files in a git repo. It is reasonably simple.

You can see an example of the Linaro CI here: https://ci.linaro.org/

Also, a GDB job for aarch64: https://ci.linaro.org/job/tcwg-gdb/

And also the summaries for GDB testsuite runs:
https://ci.linaro.org/job/tcwg-compare-results/13968/artifact/artifacts/logs/0-report.html

Of course, this effort only makes sense if the community is OK with
using Jenkins as the CI mechanism and if it actually sees value in
having a system like this in place.

Thoughts? Questions?