[PATCH RESEND 3/3] .travis.yml: Test building with Xcode 11.3

Philippe Mathieu-Daudé posted 3 patches 5 years, 8 months ago
Maintainers: "Philippe Mathieu-Daudé" <philmd@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, Fam Zheng <fam@euphon.net>
[PATCH RESEND 3/3] .travis.yml: Test building with Xcode 11.3
Posted by Philippe Mathieu-Daudé 5 years, 8 months ago
We currently run a CI job on macOS Mojave with Xcode 10.

QEMU policy is to support the two last major OS releases.
Add a job building on macOS Catalina, which comes with Xcode 11.

Split the target list in two, as we don't need to cover twice the
same targets.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .travis.yml | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index a2a7fd0dd1..d02a477623 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -269,9 +269,10 @@ matrix:
 
     # MacOSX builds - cirrus.yml also tests some MacOS builds including latest Xcode
 
+    # On macOS Mojave, the SDK comes bundled with Xcode 10.
     - name: "OSX Xcode 10.3"
       env:
-        - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu --extra-cflags=-I/usr/local/opt/ncurses/include --extra-ldflags=-L/usr/local/opt/ncurses/lib"
+        - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu --extra-cflags=-I/usr/local/opt/ncurses/include --extra-ldflags=-L/usr/local/opt/ncurses/lib"
       os: osx
       osx_image: xcode10.3
       compiler: clang
@@ -301,6 +302,39 @@ matrix:
         - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; }
 
 
+    # On macOS Catalina, the SDK comes bundled with Xcode 11.
+    - name: "OSX Xcode 11.3"
+      env:
+        - CONFIG="--target-list=arm-softmmu,ppc64-softmmu,x86_64-softmmu --extra-cflags=-I/usr/local/opt/ncurses/include --extra-ldflags=-L/usr/local/opt/ncurses/lib"
+      os: osx
+      osx_image: xcode11.3
+      compiler: clang
+      addons:
+        homebrew:
+          packages:
+            - ccache
+            - libgcrypt
+            - libiscsi
+            - libssh2
+            - libusb
+            - lzfse
+            - lzo
+            - gettext
+            - glib
+            - gnu-sed
+            - ncurses
+            - pixman
+            - python
+            - snappy
+            - vde
+          update: true
+      before_script:
+        - brew link --overwrite python
+        - export PATH="/usr/local/opt/ccache/libexec:$PATH"
+        - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
+        - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; }
+
+
     # Python builds
     - name: "GCC Python 3.5 (x86_64-softmmu)"
       env:
-- 
2.21.1


Re: [PATCH RESEND 3/3] .travis.yml: Test building with Xcode 11.3
Posted by Alex Bennée 5 years, 8 months ago
Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> We currently run a CI job on macOS Mojave with Xcode 10.
>
> QEMU policy is to support the two last major OS releases.
> Add a job building on macOS Catalina, which comes with Xcode 11.
>
> Split the target list in two, as we don't need to cover twice the
> same targets.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  .travis.yml | 36 +++++++++++++++++++++++++++++++++++-
>  1 file changed, 35 insertions(+), 1 deletion(-)
>
> diff --git a/.travis.yml b/.travis.yml
> index a2a7fd0dd1..d02a477623 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -269,9 +269,10 @@ matrix:
>  
>      # MacOSX builds - cirrus.yml also tests some MacOS builds including latest Xcode
>  
> +    # On macOS Mojave, the SDK comes bundled with Xcode 10.
>      - name: "OSX Xcode 10.3"
>        env:
> -        - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu --extra-cflags=-I/usr/local/opt/ncurses/include --extra-ldflags=-L/usr/local/opt/ncurses/lib"
> +        - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu --extra-cflags=-I/usr/local/opt/ncurses/include --extra-ldflags=-L/usr/local/opt/ncurses/lib"
>        os: osx
>        osx_image: xcode10.3
>        compiler: clang
> @@ -301,6 +302,39 @@ matrix:
>          - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; }
>  
>  
> +    # On macOS Catalina, the SDK comes bundled with Xcode 11.
> +    - name: "OSX Xcode 11.3"
> +      env:
> +        - CONFIG="--target-list=arm-softmmu,ppc64-softmmu,x86_64-softmmu --extra-cflags=-I/usr/local/opt/ncurses/include --extra-ldflags=-L/usr/local/opt/ncurses/lib"
> +      os: osx
> +      osx_image: xcode11.3

Are we duplicating what the latest Xcode on Cirrus is here?

-- 
Alex Bennée

Re: [PATCH RESEND 3/3] .travis.yml: Test building with Xcode 11.3
Posted by Philippe Mathieu-Daudé 5 years, 7 months ago
On 2/25/20 1:29 PM, Alex Bennée wrote:
> 
> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
> 
>> We currently run a CI job on macOS Mojave with Xcode 10.
>>
>> QEMU policy is to support the two last major OS releases.
>> Add a job building on macOS Catalina, which comes with Xcode 11.
>>
>> Split the target list in two, as we don't need to cover twice the
>> same targets.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>>   .travis.yml | 36 +++++++++++++++++++++++++++++++++++-
>>   1 file changed, 35 insertions(+), 1 deletion(-)
>>
>> diff --git a/.travis.yml b/.travis.yml
>> index a2a7fd0dd1..d02a477623 100644
>> --- a/.travis.yml
>> +++ b/.travis.yml
>> @@ -269,9 +269,10 @@ matrix:
>>   
>>       # MacOSX builds - cirrus.yml also tests some MacOS builds including latest Xcode
>>   
>> +    # On macOS Mojave, the SDK comes bundled with Xcode 10.
>>       - name: "OSX Xcode 10.3"
>>         env:
>> -        - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu --extra-cflags=-I/usr/local/opt/ncurses/include --extra-ldflags=-L/usr/local/opt/ncurses/lib"
>> +        - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu --extra-cflags=-I/usr/local/opt/ncurses/include --extra-ldflags=-L/usr/local/opt/ncurses/lib"
>>         os: osx
>>         osx_image: xcode10.3
>>         compiler: clang
>> @@ -301,6 +302,39 @@ matrix:
>>           - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; }
>>   
>>   
>> +    # On macOS Catalina, the SDK comes bundled with Xcode 11.
>> +    - name: "OSX Xcode 11.3"
>> +      env:
>> +        - CONFIG="--target-list=arm-softmmu,ppc64-softmmu,x86_64-softmmu --extra-cflags=-I/usr/local/opt/ncurses/include --extra-ldflags=-L/usr/local/opt/ncurses/lib"
>> +      os: osx
>> +      osx_image: xcode11.3
> 
> Are we duplicating what the latest Xcode on Cirrus is here?

Maybe, I'm not sure. It seems only few people care about 
Cirrus/Shippable but they are not taken seriously by the community, as 
they are often broken and nobody is notified. Currently Travis has a 
broader audience.

Also I sent a series to fix various things that break on Cirrus from 
time to time but I felt there is not many interest so I stopped spending 
energy on it:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg675074.html

We could change that by refusing to merge pullreq that break such CI.


Re: [PATCH RESEND 3/3] .travis.yml: Test building with Xcode 11.3
Posted by Daniel P. Berrangé 5 years, 7 months ago
On Thu, Apr 09, 2020 at 07:44:46PM +0200, Philippe Mathieu-Daudé wrote:
> On 2/25/20 1:29 PM, Alex Bennée wrote:
> > 
> > Philippe Mathieu-Daudé <philmd@redhat.com> writes:
> > 
> > > We currently run a CI job on macOS Mojave with Xcode 10.
> > > 
> > > QEMU policy is to support the two last major OS releases.
> > > Add a job building on macOS Catalina, which comes with Xcode 11.
> > > 
> > > Split the target list in two, as we don't need to cover twice the
> > > same targets.
> > > 
> > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > > ---
> > >   .travis.yml | 36 +++++++++++++++++++++++++++++++++++-
> > >   1 file changed, 35 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/.travis.yml b/.travis.yml
> > > index a2a7fd0dd1..d02a477623 100644
> > > --- a/.travis.yml
> > > +++ b/.travis.yml
> > > @@ -269,9 +269,10 @@ matrix:
> > >       # MacOSX builds - cirrus.yml also tests some MacOS builds including latest Xcode
> > > +    # On macOS Mojave, the SDK comes bundled with Xcode 10.
> > >       - name: "OSX Xcode 10.3"
> > >         env:
> > > -        - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu --extra-cflags=-I/usr/local/opt/ncurses/include --extra-ldflags=-L/usr/local/opt/ncurses/lib"
> > > +        - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu --extra-cflags=-I/usr/local/opt/ncurses/include --extra-ldflags=-L/usr/local/opt/ncurses/lib"
> > >         os: osx
> > >         osx_image: xcode10.3
> > >         compiler: clang
> > > @@ -301,6 +302,39 @@ matrix:
> > >           - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; }
> > > +    # On macOS Catalina, the SDK comes bundled with Xcode 11.
> > > +    - name: "OSX Xcode 11.3"
> > > +      env:
> > > +        - CONFIG="--target-list=arm-softmmu,ppc64-softmmu,x86_64-softmmu --extra-cflags=-I/usr/local/opt/ncurses/include --extra-ldflags=-L/usr/local/opt/ncurses/lib"
> > > +      os: osx
> > > +      osx_image: xcode11.3
> > 
> > Are we duplicating what the latest Xcode on Cirrus is here?
> 
> Maybe, I'm not sure. It seems only few people care about Cirrus/Shippable
> but they are not taken seriously by the community, as they are often broken
> and nobody is notified. Currently Travis has a broader audience.
> 
> Also I sent a series to fix various things that break on Cirrus from time to
> time but I felt there is not many interest so I stopped spending energy on
> it:
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg675074.html
> 
> We could change that by refusing to merge pullreq that break such CI.

IMHO less is more. IOW, we should use/support the fewest  possible CI
systems required to get the coverage we want.  If we can get all macOS
coverage on Travis, I'd remove it from Cirrus, or vica-verca. The fewer
places we have to look at the more likely we'll pay attention to it
when it breaks.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|