On 26/01/2023 15.41, Peter Maydell wrote:
On Thu, 26 Jan 2023 at 14:35, Daniel P. Berrangé <berra...@redhat.com> wrote:
I'm confident we can rationalize our jobs, especially the cross
compilation ones.
For each non-x86 arch we've got two sets of jobs, one for system
emulators and one for user emulators.
IMHO the most interesting part of non-x86 testing is the TCG
host target. We don't need 2 jobs to cover that, either system
or user emulators would cover TCG build / test. Most of the rest
of code is not heavily host arch dependant.
I'm not super enthusiastic about cutting this down.
I find the non-x86 testing is the most interesting part
of the CI -- most patch submitters and system submaintainers
have already done local compile-and-build with the common
x86_64 recent-distro target, so those parts pretty much
always succeed. The benefit of the auto CI is in keeping
the platforms that aren't so widely used by developers
working (both different-host-arch and different-OS).
I mostly agree. Question is whether we really need all of them, e.g. do we
really need both, the *-armel and the *-armhf jobs for both, the -user and
the -system part? Or would it be still ok to e.g. only have a -armel-user
and a -armhf-system job and drop the other two?
I think there are also other possibilities where we could cut down CI
minutes, e.g.:
- Avoid that some of the -softmmu targets get build multiple
times
- Re-arrange the Avocodo jobs: We should maybe rather sort them
by target system instead of host distro to avoid that some
targets get tested twice here.
- Do we really need Linux-based clang jobs if we test Clang
compilation with macOS and FreeBSD, too?
- Would it be OK to merge the merge the build-without-default-
devices and build-without-default-features jobs?
And after all, I'd like to raise one question again: Could we finally stop
supporting 32-bit hosts? ... that would really help to get rid of both, some
CI minutes and some maintainer burden.
Thomas