Message ID | 20200218142018.7224-4-philmd@redhat.com |
---|---|
State | New |
Headers | show |
Series | travis-ci: Improve OSX coverage | expand |
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?
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.
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
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:
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(-)