diff mbox series

[RFC,6/6] gitlab-ci.d/windows: Use Clang for compiling in the 64-bit MSYS2 job

Message ID 20230728142748.305341-7-thuth@redhat.com
State New
Headers show
Series Use Clang for compiling in the 64-bit MSYS2 job | expand

Commit Message

Thomas Huth July 28, 2023, 2:27 p.m. UTC
We are struggeling with timeouts in the 64-bit MSYS2 job. Clang seems
to be a little bit faster, so let's use this compiler now instead.

There is a problem with compiling the spice headers with Clang, though,
so we can only test this in the 32-bit builds with GCC now. And we have
to disable dbus-display - otherwise the compilation aborts in the CI.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.d/windows.yml | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

Comments

Philippe Mathieu-Daudé July 31, 2023, 2:23 p.m. UTC | #1
On 28/7/23 16:27, Thomas Huth wrote:
> We are struggeling with timeouts in the 64-bit MSYS2 job. Clang seems
> to be a little bit faster, so let's use this compiler now instead.
> 
> There is a problem with compiling the spice headers with Clang, though,
> so we can only test this in the 32-bit builds with GCC now. And we have
> to disable dbus-display - otherwise the compilation aborts in the CI.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   .gitlab-ci.d/windows.yml | 14 ++++++++------
>   1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
> index f086540e40..ff9e9af4bb 100644
> --- a/.gitlab-ci.d/windows.yml
> +++ b/.gitlab-ci.d/windows.yml
> @@ -43,7 +43,6 @@
>         $MINGW_TARGET-curl
>         $MINGW_TARGET-cyrus-sasl
>         $MINGW_TARGET-dtc
> -      $MINGW_TARGET-gcc
>         $MINGW_TARGET-glib2
>         $MINGW_TARGET-gnutls
>         $MINGW_TARGET-gtk3
> @@ -63,9 +62,9 @@
>         $MINGW_TARGET-SDL2
>         $MINGW_TARGET-SDL2_image
>         $MINGW_TARGET-snappy
> -      $MINGW_TARGET-spice
>         $MINGW_TARGET-usbredir
> -      $MINGW_TARGET-zstd "
> +      $MINGW_TARGET-zstd
> +      $EXTRA_PACKAGES "
>     - $env:CHERE_INVOKING = 'yes'  # Preserve the current working directory
>     - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink
>     - mkdir build
> @@ -77,13 +76,15 @@
>   msys2-64bit:
>     extends: .shared_msys2_builder
>     variables:
> -    MINGW_TARGET: mingw-w64-x86_64
> -    MSYSTEM: MINGW64
> +    MINGW_TARGET: mingw-w64-clang-x86_64
> +    MSYSTEM: CLANG64

OK to use Clang, but I'm tempted to keep the GCC job in manual mode...
Thomas Huth July 31, 2023, 2:43 p.m. UTC | #2
On 31/07/2023 16.23, Philippe Mathieu-Daudé wrote:
> On 28/7/23 16:27, Thomas Huth wrote:
>> We are struggeling with timeouts in the 64-bit MSYS2 job. Clang seems
>> to be a little bit faster, so let's use this compiler now instead.
>>
>> There is a problem with compiling the spice headers with Clang, though,
>> so we can only test this in the 32-bit builds with GCC now. And we have
>> to disable dbus-display - otherwise the compilation aborts in the CI.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   .gitlab-ci.d/windows.yml | 14 ++++++++------
>>   1 file changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
>> index f086540e40..ff9e9af4bb 100644
>> --- a/.gitlab-ci.d/windows.yml
>> +++ b/.gitlab-ci.d/windows.yml
>> @@ -43,7 +43,6 @@
>>         $MINGW_TARGET-curl
>>         $MINGW_TARGET-cyrus-sasl
>>         $MINGW_TARGET-dtc
>> -      $MINGW_TARGET-gcc
>>         $MINGW_TARGET-glib2
>>         $MINGW_TARGET-gnutls
>>         $MINGW_TARGET-gtk3
>> @@ -63,9 +62,9 @@
>>         $MINGW_TARGET-SDL2
>>         $MINGW_TARGET-SDL2_image
>>         $MINGW_TARGET-snappy
>> -      $MINGW_TARGET-spice
>>         $MINGW_TARGET-usbredir
>> -      $MINGW_TARGET-zstd "
>> +      $MINGW_TARGET-zstd
>> +      $EXTRA_PACKAGES "
>>     - $env:CHERE_INVOKING = 'yes'  # Preserve the current working directory
>>     - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink
>>     - mkdir build
>> @@ -77,13 +76,15 @@
>>   msys2-64bit:
>>     extends: .shared_msys2_builder
>>     variables:
>> -    MINGW_TARGET: mingw-w64-x86_64
>> -    MSYSTEM: MINGW64
>> +    MINGW_TARGET: mingw-w64-clang-x86_64
>> +    MSYSTEM: CLANG64
> 
> OK to use Clang, but I'm tempted to keep the GCC job in manual mode...

Why? We still have the 32-bit job with GCC, and the MinGW cross-compiler job 
with GCC, so that's already quite a bit of coverage, isn't it?

  Thomas
Philippe Mathieu-Daudé Aug. 1, 2023, 1:30 p.m. UTC | #3
On 31/7/23 16:43, Thomas Huth wrote:
> On 31/07/2023 16.23, Philippe Mathieu-Daudé wrote:
>> On 28/7/23 16:27, Thomas Huth wrote:
>>> We are struggeling with timeouts in the 64-bit MSYS2 job. Clang seems
>>> to be a little bit faster, so let's use this compiler now instead.
>>>
>>> There is a problem with compiling the spice headers with Clang, though,
>>> so we can only test this in the 32-bit builds with GCC now. And we have
>>> to disable dbus-display - otherwise the compilation aborts in the CI.
>>>
>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>>> ---
>>>   .gitlab-ci.d/windows.yml | 14 ++++++++------
>>>   1 file changed, 8 insertions(+), 6 deletions(-)


>>> @@ -77,13 +76,15 @@
>>>   msys2-64bit:
>>>     extends: .shared_msys2_builder
>>>     variables:
>>> -    MINGW_TARGET: mingw-w64-x86_64
>>> -    MSYSTEM: MINGW64
>>> +    MINGW_TARGET: mingw-w64-clang-x86_64
>>> +    MSYSTEM: CLANG64
>>
>> OK to use Clang, but I'm tempted to keep the GCC job in manual mode...
> 
> Why? We still have the 32-bit job with GCC, and the MinGW cross-compiler 
> job with GCC, so that's already quite a bit of coverage, isn't it?

OK we are good then :)

Thanks,

Phil.
diff mbox series

Patch

diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
index f086540e40..ff9e9af4bb 100644
--- a/.gitlab-ci.d/windows.yml
+++ b/.gitlab-ci.d/windows.yml
@@ -43,7 +43,6 @@ 
       $MINGW_TARGET-curl
       $MINGW_TARGET-cyrus-sasl
       $MINGW_TARGET-dtc
-      $MINGW_TARGET-gcc
       $MINGW_TARGET-glib2
       $MINGW_TARGET-gnutls
       $MINGW_TARGET-gtk3
@@ -63,9 +62,9 @@ 
       $MINGW_TARGET-SDL2
       $MINGW_TARGET-SDL2_image
       $MINGW_TARGET-snappy
-      $MINGW_TARGET-spice
       $MINGW_TARGET-usbredir
-      $MINGW_TARGET-zstd "
+      $MINGW_TARGET-zstd
+      $EXTRA_PACKAGES "
   - $env:CHERE_INVOKING = 'yes'  # Preserve the current working directory
   - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink
   - mkdir build
@@ -77,13 +76,15 @@ 
 msys2-64bit:
   extends: .shared_msys2_builder
   variables:
-    MINGW_TARGET: mingw-w64-x86_64
-    MSYSTEM: MINGW64
+    MINGW_TARGET: mingw-w64-clang-x86_64
+    MSYSTEM: CLANG64
+    EXTRA_PACKAGES: binutils mingw-w64-clang-x86_64-clang
     # do not remove "--without-default-devices"!
     # commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices"
     # changed to compile QEMU with the --without-default-devices switch
     # for the msys2 64-bit job, due to the build could not complete within
-    CONFIGURE_ARGS:  --target-list=x86_64-softmmu --without-default-devices
+    CONFIGURE_ARGS: --target-list=x86_64-softmmu --without-default-devices
+                    --cc=clang --disable-dbus-display
     # qTests don't run successfully with "--without-default-devices",
     # so let's exclude the qtests from CI for now.
     TEST_ARGS: --no-suite qtest
@@ -93,5 +94,6 @@  msys2-32bit:
   variables:
     MINGW_TARGET: mingw-w64-i686
     MSYSTEM: MINGW32
+    EXTRA_PACKAGES: mingw-w64-i686-gcc mingw-w64-i686-spice
     CONFIGURE_ARGS:  --target-list=ppc64-softmmu
     TEST_ARGS: --no-suite qtest