[libvirt PATCH 0/3] travis: Drop xcode10.3 build, clean up

Andrea Bolognani (3): travis: Deduplicate build instructions travis: Reduce test matrix travis: Remove usage of 'sudo' .travis.yml | 52 ++++++++++++++++++---------------------------------- 1 file changed, 18 insertions(+), 34 deletions(-) -- 2.25.2

All information, except for osx_image image, is identical between the two jobs so we can avoid repeating it. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- .travis.yml | 51 ++++++++++++++++++++------------------------------- 1 file changed, 20 insertions(+), 31 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0548b28b01..56a56fa115 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,7 @@ sudo: required -language: generic +language: c +compiler: clang +os: osx branches: except: @@ -18,36 +20,23 @@ addons: matrix: include: - - compiler: clang - language: c - os: osx - osx_image: xcode10.3 - env: - - PATH="/usr/local/opt/gettext/bin:/usr/local/opt/ccache/libexec:/usr/local/opt/rpcgen/bin:$PATH" - - PKG_CONFIG_PATH="/usr/local/opt/libxml2/lib/pkgconfig" - before_script: - # Hack to blow away py2 - - brew link --overwrite python - script: - # We can't run 'distcheck' or 'syntax-check' because they fail on - # macOS, but doing 'install' and 'dist' gives us some useful coverage - - mkdir build && cd build - - ../autogen.sh --prefix=$(pwd)/install-root && make -j3 && make -j3 install && make -j3 dist - - compiler: clang - language: c - os: osx - osx_image: xcode11.3 - env: - - PATH="/usr/local/opt/gettext/bin:/usr/local/opt/ccache/libexec:/usr/local/opt/rpcgen/bin:$PATH" - - PKG_CONFIG_PATH="/usr/local/opt/libxml2/lib/pkgconfig" - before_script: - # Hack to blow away py2 - - brew link --overwrite python - script: - # We can't run 'distcheck' or 'syntax-check' because they fail on - # macOS, but doing 'install' and 'dist' gives us some useful coverage - - mkdir build && cd build - - ../autogen.sh --prefix=$(pwd)/install-root && make -j3 && make -j3 install && make -j3 dist + - osx_image: xcode11.3 + - osx_image: xcode10.3 + +env: + global: + - PATH="/usr/local/opt/gettext/bin:/usr/local/opt/ccache/libexec:/usr/local/opt/rpcgen/bin:$PATH" + - PKG_CONFIG_PATH="/usr/local/opt/libxml2/lib/pkgconfig" + +before_script: + # Hack to blow away py2 + - brew link --overwrite python + +script: + # We can't run 'distcheck' or 'syntax-check' because they fail on + # macOS, but doing 'install' and 'dist' gives us some useful coverage + - mkdir build && cd build + - ../autogen.sh --prefix=$(pwd)/install-root && make -j3 && make -j3 install && make -j3 dist git: submodules: true -- 2.25.2

On Fri, Apr 10, 2020 at 11:10:32AM +0200, Andrea Bolognani wrote:
All information, except for osx_image image, is identical between the two jobs so we can avoid repeating it.
Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- .travis.yml | 51 ++++++++++++++++++++------------------------------- 1 file changed, 20 insertions(+), 31 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> 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 :|

The xcode10.3 build has recently started failing because of issues that are not in libvirt, so get rid of it. It didn't buy us additionaly platform coverage anyway, since underneath it's using the same macOS 10.14 version as xcode11.3. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- .travis.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 56a56fa115..d0ac947d15 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,7 @@ sudo: required language: c compiler: clang os: osx +osx_image: xcode11.3 branches: except: @@ -18,11 +19,6 @@ addons: - glib - docutils -matrix: - include: - - osx_image: xcode11.3 - - osx_image: xcode10.3 - env: global: - PATH="/usr/local/opt/gettext/bin:/usr/local/opt/ccache/libexec:/usr/local/opt/rpcgen/bin:$PATH" -- 2.25.2

On Fri, Apr 10, 2020 at 11:10:33AM +0200, Andrea Bolognani wrote:
The xcode10.3 build has recently started failing because of issues that are not in libvirt, so get rid of it. It didn't buy us additionaly platform coverage anyway, since underneath it's using the same macOS 10.14 version as xcode11.3.
The point was to test both xcode versions, since they're both commonly used. I was testing this over the weekend and determined that 10.1 will still work correctly. Travis broke something in their 10.2/10.3 images that inserts a bogus -I path. 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 :|

On Tue, Apr 14, 2020 at 10:54:16AM +0100, Daniel P. Berrangé wrote:
On Fri, Apr 10, 2020 at 11:10:33AM +0200, Andrea Bolognani wrote:
The xcode10.3 build has recently started failing because of issues that are not in libvirt, so get rid of it. It didn't buy us additionaly platform coverage anyway, since underneath it's using the same macOS 10.14 version as xcode11.3.
The point was to test both xcode versions, since they're both commonly used. I was testing this over the weekend and determined that 10.1 will still work correctly. Travis broke something in their 10.2/10.3 images that inserts a bogus -I path.
It appears they realized their mistake, as the latest build this morning on 10.3 has succeeeded again. So we don't need to drop / change anything. 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 :|

On Tue, 2020-04-14 at 10:54 +0100, Daniel P. Berrangé wrote:
On Fri, Apr 10, 2020 at 11:10:33AM +0200, Andrea Bolognani wrote:
The xcode10.3 build has recently started failing because of issues that are not in libvirt, so get rid of it. It didn't buy us additionaly platform coverage anyway, since underneath it's using the same macOS 10.14 version as xcode11.3.
The point was to test both xcode versions, since they're both commonly used. I was testing this over the weekend and determined that 10.1 will still work correctly. Travis broke something in their 10.2/10.3 images that inserts a bogus -I path.
Considering that almost nobody in the libvirt community is actually focused on macOS support, trying to chase after two SDKs instead of a single one doesn't necessarily sound like a good idea to me, especially when the older one doesn't target the current version of macOS. It's already pretty bad that we're stuck on 10.14, as opposed to 10.15 which is the version we actually target according to our platform support policy, because Travis CI always takes forever to prepare new images. I was looking into Cirrus CI the other day and they support macOS too, and they even already have a 10.15 image. I didn't dig deeper, but maybe if we're stuck using an external service for macOS builds it should be Cirrus CI instead of Travis CI. -- Andrea Bolognani / Red Hat / Virtualization

On Tue, Apr 14, 2020 at 12:42:26PM +0200, Andrea Bolognani wrote:
On Tue, 2020-04-14 at 10:54 +0100, Daniel P. Berrangé wrote:
On Fri, Apr 10, 2020 at 11:10:33AM +0200, Andrea Bolognani wrote:
The xcode10.3 build has recently started failing because of issues that are not in libvirt, so get rid of it. It didn't buy us additionaly platform coverage anyway, since underneath it's using the same macOS 10.14 version as xcode11.3.
The point was to test both xcode versions, since they're both commonly used. I was testing this over the weekend and determined that 10.1 will still work correctly. Travis broke something in their 10.2/10.3 images that inserts a bogus -I path.
Considering that almost nobody in the libvirt community is actually focused on macOS support, trying to chase after two SDKs instead of a single one doesn't necessarily sound like a good idea to me, especially when the older one doesn't target the current version of macOS.
It's already pretty bad that we're stuck on 10.14, as opposed to 10.15 which is the version we actually target according to our platform support policy, because Travis CI always takes forever to prepare new images.
I don't see that as a big deal really. The older platforms are generally more interesting, as they're more likely to be lacking features we depend on. Being able to validate multiple XCode versions is interesting as they're different compiler toolchain versions and so likely to spit out different warnings.
I was looking into Cirrus CI the other day and they support macOS too, and they even already have a 10.15 image. I didn't dig deeper, but maybe if we're stuck using an external service for macOS builds it should be Cirrus CI instead of Travis CI.
Cirrus only seems to offer latest version of XCode, so that's not especially appealing IMHO. 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 :|

On Wed, 2020-04-15 at 13:52 +0100, Daniel P. Berrangé wrote:
On Tue, Apr 14, 2020 at 12:42:26PM +0200, Andrea Bolognani wrote:
Considering that almost nobody in the libvirt community is actually focused on macOS support, trying to chase after two SDKs instead of a single one doesn't necessarily sound like a good idea to me, especially when the older one doesn't target the current version of macOS.
It's already pretty bad that we're stuck on 10.14, as opposed to 10.15 which is the version we actually target according to our platform support policy, because Travis CI always takes forever to prepare new images.
I don't see that as a big deal really. The older platforms are generally more interesting, as they're more likely to be lacking features we depend on. Being able to validate multiple XCode versions is interesting as they're different compiler toolchain versions and so likely to spit out different warnings.
I think coverage of older platforms is useful if we still target them, and a nuisance otherwise. As for older toolchains, we obviously need that for platforms where the toolchain can't be upgraded separately from the OS, but that's not the case on macOS, and given that Xcode updates are free of charge and introduce significant new features, I doubt many developers stick with older releases for longer than they need to.
I was looking into Cirrus CI the other day and they support macOS too, and they even already have a 10.15 image. I didn't dig deeper, but maybe if we're stuck using an external service for macOS builds it should be Cirrus CI instead of Travis CI.
Cirrus only seems to offer latest version of XCode, so that's not especially appealing IMHO.
That version of Xcode is running on the latest macOS version, the one we actually target. That's a big plus in my book. -- Andrea Bolognani / Red Hat / Virtualization

Travis CI reports root: deprecated key sudo (The key `sudo` has no effect anymore.) so let's drop it. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d0ac947d15..5958d69abb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,3 @@ -sudo: required language: c compiler: clang os: osx -- 2.25.2

On Fri, Apr 10, 2020 at 11:10:34AM +0200, Andrea Bolognani wrote:
Travis CI reports
root: deprecated key sudo (The key `sudo` has no effect anymore.)
so let's drop it.
Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- .travis.yml | 1 - 1 file changed, 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> 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 :|
participants (2)
-
Andrea Bolognani
-
Daniel P. Berrangé