[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang

From: Thomas Huth
Subject: Re: [RFC PATCH 2/2] gitlab-ci: Add a job building TCI with Clang
Date: Fri, 22 Jan 2021 09:19:49 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0

On 21/01/2021 21.46, Wainer dos Santos Moschetta wrote:

On 1/21/21 3:28 PM, Thomas Huth wrote:
On 21/01/2021 19.13, Daniel P. Berrangé wrote:
On Thu, Jan 21, 2021 at 03:05:43PM -0300, Wainer dos Santos Moschetta wrote:

On 1/21/21 7:08 AM, Thomas Huth wrote:
On 10/01/2021 17.27, Philippe Mathieu-Daudé wrote:
Split the current GCC build-tci job in 2, and use Clang
compiler in the new job.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
RFC in case someone have better idea to optimize can respin this patch.

   .gitlab-ci.yml | 22 ++++++++++++++++++++--
   1 file changed, 20 insertions(+), 2 deletions(-)

I'm not quite sure whether we should go down this road ... if we wanted
to have full test coverage for clang, we'd need to duplicate *all* jobs
to run them once with gcc and once with clang. And that would be just

I agree with Thomas.

I think we already catch most clang-related problems with the clang jobs
that we already have in our CI, so problems like the ones that you've
tried to address here should be very, very rare. So I'd rather vote for
not splitting the job here.

We got only one clang job on GitLab CI...

     <<: *native_build_job_definition
       IMAGE: fedora
       CONFIGURE_ARGS: --cc=clang --cxx=clang++
       TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu
         ppc-softmmu s390x-softmmu arm-linux-user
       MAKE_CHECK_ARGS: check

... and others on Travis:

   "Clang (user)"

   "Clang (main-softmmu)"

   "Clang (other-softmmu)"

I guess these three overlap partially with the build-clang job.

   "[s390x] Clang (disable-tcg)"

Don't forget the  Cirrus CI jobs for freebsd and macOS will
be using  CLang too.

Right... we should work towards getting cirrus-run into the QEMU-CI, too, to finally have these in the gitlab-ci dashboard, too.

So I've some questions:

  * Can we move those first three Travis jobs to Gitlab CI? (I can work on

Yeah, if we move those three travis jobs they can replace the existing
build-clang job. We don't neccesssarily need to keep them as three
separate jobs - that split was just due to the Travis time limits.
If a different split works better on GitLab we can do that.

Well, if we really want to increase the amount clang jobs, one of them should likely use TCI, as Phillippe suggested.
Ok, got it. I won't touch on those jobs.

I didn't meant my comment as a "no", but rather as a "needs further discussion first" ...

So here's my suggestion:

- Keep the current build-tci job as it is

- Add a build-clang-user job that compiles with clang and

- Add a "build-clang-system 2" job that compiles with clang
  and --enable-tcg-interpreter and uses more or less the same
  targets as the "build-tci" job. Maybe add the avr-softmmu
  target here now, too, since it now also has a qtest with
  TCG (boot-serial-test)

- Rename the current "build-clang" job to "build-clang-system 1"
  and remove the arm-linux-user target and all the targets that
  are already part of the "build-clang-system 2" / "build-tci"
  from that job. Then add some other softmmu targets to that job
  (but take care that it does not exceed the 1h run time limit,
  so likely not all remaining targets can be added here)

- If we feel confident that we got enough test coverage there
  (together with the clang-based jobs on Cirrus-CI), finally
  remove the three x86 clang jobs from travis.yml.

What do you think? Could you work on such a patch (or patch series), Wainer?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]