.cirrus.yml | 11 ++++++++ .gitlab-ci.yml | 2 +- .shippable.yml | 2 -- .travis.yml | 50 ++++++++++++++++++++++++++-------- tests/docker/Makefile.include | 6 ++-- tests/docker/dockerfiles/travis.docker | 6 +++- tests/vm/basevm.py | 5 +++- tests/vm/netbsd | 7 +++++ 8 files changed, 71 insertions(+), 18 deletions(-)
The following changes since commit 03bf012e523ecdf047ac56b2057950247256064d: Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-10-25 14:59:53 +0100) are available in the Git repository at: https://github.com/stsquad/qemu.git tags/pull-testing-next-251019-3 for you to fetch changes up to 8ce2f68fc90e36d8cd57585f7f4bc75e5038f0b1: tests/docker: update Travis image to a more current version (2019-10-25 19:24:21 +0100) ---------------------------------------------------------------- Testing updates (split from mega PR) - various Travis dependency updates - enable tcg debug for check-tcg - additional Xcode build for Cirrus - dependency tweak for gitlab ---------------------------------------------------------------- Alex Bennée (7): travis.yml: reduce scope of the --enable-debug build travis.yml: bump Xcode 10 to latest dot release cirrus.yml: add latest Xcode build target travis.yml: cache the clang sanitizer build travis.yml: --enable-debug-tcg to check-tcg tests/docker: set HOST_ARCH if we don't have ARCH tests/docker: update Travis image to a more current version Eduardo Habkost (2): tests/vm: Let subclasses disable IPv6 tests/vm/netbsd: Disable IPv6 Philippe Mathieu-Daudé (1): travis.yml: Test the release tarball Thomas Huth (5): travis.yml: Add libvdeplug-dev to compile-test net/vde.c travis.yml: Use libsdl2 instead of libsdl1.2, and install libsdl2-image travis.yml: Use newer version of libgnutls and libpng travis.yml: Fix the ccache lines gitlab-ci.yml: Use libvdeplug-dev to compile-test the VDE network backend .cirrus.yml | 11 ++++++++ .gitlab-ci.yml | 2 +- .shippable.yml | 2 -- .travis.yml | 50 ++++++++++++++++++++++++++-------- tests/docker/Makefile.include | 6 ++-- tests/docker/dockerfiles/travis.docker | 6 +++- tests/vm/basevm.py | 5 +++- tests/vm/netbsd | 7 +++++ 8 files changed, 71 insertions(+), 18 deletions(-) -- 2.20.1
On Fri, 25 Oct 2019 at 20:37, Alex Bennée <alex.bennee@linaro.org> wrote: > > The following changes since commit 03bf012e523ecdf047ac56b2057950247256064d: > > Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-10-25 14:59:53 +0100) > > are available in the Git repository at: > > https://github.com/stsquad/qemu.git tags/pull-testing-next-251019-3 > > for you to fetch changes up to 8ce2f68fc90e36d8cd57585f7f4bc75e5038f0b1: > > tests/docker: update Travis image to a more current version (2019-10-25 19:24:21 +0100) > > ---------------------------------------------------------------- > Testing updates (split from mega PR) > > - various Travis dependency updates > - enable tcg debug for check-tcg > - additional Xcode build for Cirrus > - dependency tweak for gitlab Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/4.2 for any user-visible changes. -- PMM
Adding debug makes things run a bit slower so lets not hammer all the targets. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> diff --git a/.travis.yml b/.travis.yml index d0b9e099b9c..7d90b87540f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -124,12 +124,13 @@ matrix: - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" + # --enable-debug implies --enable-debug-tcg, also runs quite a bit slower - env: - - CONFIG="--enable-debug --enable-debug-tcg --disable-user" + - CONFIG="--enable-debug --target-list=${MAIN_SOFTMMU_TARGETS}" - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug" - # TCG debug can be run just on it's own and is mostly agnostic to user/softmmu distinctions + # TCG debug can be run just on its own and is mostly agnostic to user/softmmu distinctions - env: - CONFIG="--enable-debug-tcg --disable-system" - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug" -- 2.20.1
From: Thomas Huth <thuth@redhat.com> This library is needed to compile the VDE network backend. Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <20191009170701.14756-2-thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> diff --git a/.travis.yml b/.travis.yml index 7d90b87540f..7be2a9949f5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -46,6 +46,7 @@ addons: - libssh-dev - liburcu-dev - libusb-1.0-0-dev + - libvdeplug-dev - libvte-2.91-dev - sparse - uuid-dev -- 2.20.1
From: Thomas Huth <thuth@redhat.com> We've removed support for SDL 1.2 quite a while ago already, so let's use SDL 2 now in Travis to get test coverage for SDL again. And while we're at it, also add libsdl2-image-dev which can be used by QEMU nowadays, too. Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <20191009170701.14756-3-thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> diff --git a/.travis.yml b/.travis.yml index 7be2a9949f5..b446e04e8ae 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,7 +39,8 @@ addons: - libpixman-1-dev - libpng12-dev - librados-dev - - libsdl1.2-dev + - libsdl2-dev + - libsdl2-image-dev - libseccomp-dev - libspice-protocol-dev - libspice-server-dev @@ -309,7 +310,8 @@ matrix: - libpixman-1-dev - libpng12-dev - librados-dev - - libsdl1.2-dev + - libsdl2-dev + - libsdl2-image-dev - libseccomp-dev - libspice-protocol-dev - libspice-server-dev -- 2.20.1
From: Thomas Huth <thuth@redhat.com> libgnutls-dev and libpng12-dev are not available in newer versions of Ubuntu anymore, so installing these packages fails e.g. in the new arm64 containers on Travis. Let's use newer versions of these packages by default instead. (The old versions still get tested in the "gcc-9" build). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <20191009170701.14756-4-thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> diff --git a/.travis.yml b/.travis.yml index b446e04e8ae..e65e53f3d7e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,7 +29,7 @@ addons: - libcap-dev - libcap-ng-dev - libgcc-4.8-dev - - libgnutls-dev + - libgnutls28-dev - libgtk-3-dev - libiscsi-dev - liblttng-ust-dev @@ -37,7 +37,7 @@ addons: - libnfs-dev - libnss3-dev - libpixman-1-dev - - libpng12-dev + - libpng-dev - librados-dev - libsdl2-dev - libsdl2-image-dev -- 2.20.1
From: Thomas Huth <thuth@redhat.com> The "command -v ccache && ccache ..." likely were supposed to test the availability of ccache before running the program. But this shell construct causes Travis to abort if ccache is not available. Use an if-statement instead to fix this problem. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20191009170701.14756-5-thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> diff --git a/.travis.yml b/.travis.yml index e65e53f3d7e..7e0d4ad2b31 100644 --- a/.travis.yml +++ b/.travis.yml @@ -91,13 +91,13 @@ git: before_script: - if [ "$TRAVIS_OS_NAME" == "osx" ] ; then export PATH="/usr/local/opt/ccache/libexec:$PATH" ; fi - - command -v ccache && ccache --zero-stats + - if command -v ccache ; then ccache --zero-stats ; fi - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; } script: - make -j3 && travis_retry ${TEST_CMD} after_script: - - command -v ccache && ccache --show-stats + - if command -v ccache ; then ccache --show-stats ; fi matrix: -- 2.20.1
From: Philippe Mathieu-Daudé <philmd@redhat.com> Add a job to generate the release tarball and build/install few QEMU targets from it. Ideally we should build the 'efi' target from the 'roms' directory, but it is too time consuming. This job is only triggered when a tag starting with 'v' is pushed, which is the case with release candidate tags. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20191007160450.3619-1-philmd@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> diff --git a/.travis.yml b/.travis.yml index 7e0d4ad2b31..f2b679fe701 100644 --- a/.travis.yml +++ b/.travis.yml @@ -343,3 +343,26 @@ matrix: - CONFIG="--target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu" - TEST_CMD="make -j3 check-tcg V=1" - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" + + + # Release builds + # The make-release script expect a QEMU version, so our tag must start with a 'v'. + # This is the case when release candidate tags are created. + - if: tag IS present AND tag =~ /^v\d+\.\d+(\.\d+)?(-\S*)?$/ + env: + # We want to build from the release tarball + - BUILD_DIR="release/build/dir" SRC_DIR="../../.." + - BASE_CONFIG="--prefix=$PWD/dist" + - CONFIG="--target-list=x86_64-softmmu,aarch64-softmmu,armeb-linux-user,ppc-linux-user" + - TEST_CMD="make install -j3" + - QEMU_VERSION="${TRAVIS_TAG:1}" + - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" + before_script: + - command -v ccache && ccache --zero-stats + - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} + script: + - make -C ${SRC_DIR} qemu-${QEMU_VERSION}.tar.bz2 + - ls -l ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 + - tar -xf ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 && cd qemu-${QEMU_VERSION} + - ./configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; } + - make install -- 2.20.1
According to: https://docs.travis-ci.com/user/reference/osx/#macos-version we have 10.3 available so lets use it. I don't know what Apple's deprecation policy is for Xcode because it requires an AppleID to find out. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> diff --git a/.travis.yml b/.travis.yml index f2b679fe701..da6a2063fca 100644 --- a/.travis.yml +++ b/.travis.yml @@ -247,7 +247,7 @@ matrix: - env: - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu" os: osx - osx_image: xcode10.2 + osx_image: xcode10.3 compiler: clang -- 2.20.1
CirrusCI provides a mojave-xcode alias for the latest Xcode available. Let's use it to make sure we track the latest releases. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> diff --git a/.cirrus.yml b/.cirrus.yml index 8326a3a4b16..27efc48619b 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -25,3 +25,14 @@ macos_task: - ./configure --python=/usr/local/bin/python3 || { cat config.log; exit 1; } - gmake -j$(sysctl -n hw.ncpu) - gmake check -j$(sysctl -n hw.ncpu) + +macos_xcode_task: + osx_instance: + # this is an alias for the latest Xcode + image: mojave-xcode + install_script: + - brew install pkg-config gnu-sed glib pixman make sdl2 + script: + - ./configure --cc=clang || { cat config.log; exit 1; } + - gmake -j$(sysctl -n hw.ncpu) + - gmake check -j$(sysctl -n hw.ncpu) -- 2.20.1
From: Eduardo Habkost <ehabkost@redhat.com> The mechanism will be used to work around issues related to IPv6 on the netbsd image builder. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20191018181705.17957-3-ehabkost@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py index b5d1479bee9..2929de23aa7 100755 --- a/tests/vm/basevm.py +++ b/tests/vm/basevm.py @@ -57,6 +57,8 @@ class BaseVM(object): arch = "#arch" # command to halt the guest, can be overridden by subclasses poweroff = "poweroff" + # enable IPv6 networking + ipv6 = True def __init__(self, debug=False, vcpus=None): self._guest = None self._tmpdir = os.path.realpath(tempfile.mkdtemp(prefix="vm-test-", @@ -81,7 +83,8 @@ class BaseVM(object): self._args = [ \ "-nodefaults", "-m", "4G", "-cpu", "max", - "-netdev", "user,id=vnet,hostfwd=:127.0.0.1:0-:22", + "-netdev", "user,id=vnet,hostfwd=:127.0.0.1:0-:22" + + (",ipv6=no" if not self.ipv6 else ""), "-device", "virtio-net-pci,netdev=vnet", "-vnc", "127.0.0.1:0,to=20"] if vcpus and vcpus > 1: -- 2.20.1
From: Eduardo Habkost <ehabkost@redhat.com> Workaround for issues when the host has no IPv6 connectivity. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20191018181705.17957-4-ehabkost@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> diff --git a/tests/vm/netbsd b/tests/vm/netbsd index ee9eaeab504..18aa56ae826 100755 --- a/tests/vm/netbsd +++ b/tests/vm/netbsd @@ -28,6 +28,13 @@ class NetBSDVM(basevm.BaseVM): gmake --output-sync -j{jobs} {target} {verbose}; """ + # Workaround for NetBSD + IPv6 + slirp issues. + # NetBSD seems to ignore the ICMPv6 Destination Unreachable + # messages generated by slirp. When the host has no IPv6 + # connectivity, this causes every connection to ftp.NetBSD.org + # take more than a minute to be established. + ipv6 = False + def build_image(self, img): cimg = self._download_with_cache("http://download.patchew.org/netbsd-7.1-amd64.img.xz", sha256sum='b633d565b0eac3d02015cd0c81440bd8a7a8df8512615ac1ee05d318be015732') -- 2.20.1
Hopefully we'll see the same benefits as the other builds. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> diff --git a/.travis.yml b/.travis.yml index da6a2063fca..c43597f1331 100644 --- a/.travis.yml +++ b/.travis.yml @@ -189,6 +189,7 @@ matrix: - env: - CONFIG="--target-list=${MAIN_SOFTMMU_TARGETS} " + - CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-sanitize" compiler: clang before_script: - ./configure ${CONFIG} --extra-cflags="-fsanitize=undefined -Werror" || { cat config.log && exit 1; } -- 2.20.1
From: Thomas Huth <thuth@redhat.com> The libvdeplug-dev package is required to compile-test net/vde.c. Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <20191016131002.29663-1-thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ed8067f5cf9..be57c6a454a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,7 @@ before_script: build-system1: script: - apt-get install -y -qq libgtk-3-dev libvte-dev nettle-dev libcacard-dev - libusb-dev libvde-dev libspice-protocol-dev libgl1-mesa-dev + libusb-dev libvde-dev libspice-protocol-dev libgl1-mesa-dev libvdeplug-dev - ./configure --enable-werror --target-list="aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu lm32-softmmu moxie-softmmu microblazeel-softmmu mips64el-softmmu m68k-softmmu ppc-softmmu riscv64-softmmu sparc-softmmu" -- 2.20.1
This adds a whole bunch of asserts which will catch bugs you might introduce into the TCG code. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> diff --git a/.travis.yml b/.travis.yml index c43597f1331..ba3a8d4cfc9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -334,14 +334,14 @@ matrix: # Run check-tcg against linux-user - env: - - CONFIG="--disable-system" + - CONFIG="--disable-system --enable-debug-tcg" - TEST_CMD="make -j3 check-tcg V=1" - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" # Run check-tcg against softmmu targets - env: - - CONFIG="--target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu" + - CONFIG="--enable-debug-tcg --target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu" - TEST_CMD="make -j3 check-tcg V=1" - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default" -- 2.20.1
This isn't the latest one available on hub.docker.com but it does match the ID reported by the Xenial builds running on Travis: instance: ... travis-ci-sardonyx-xenial-1553530528-f909ac5 Signed-off-by: Alex Bennée <alex.bennee@linaro.org> diff --git a/tests/docker/dockerfiles/travis.docker b/tests/docker/dockerfiles/travis.docker index ea14da29d97..e8eb48dccfd 100644 --- a/tests/docker/dockerfiles/travis.docker +++ b/tests/docker/dockerfiles/travis.docker @@ -1,4 +1,8 @@ -FROM travisci/ci-sardonyx:packer-1546978056-2c98a19 +# +# Travis Image - this is broadly the same image that we run our CI +# tests on. +# +FROM travisci/ci-sardonyx:packer-1552557266-f909ac5 ENV DEBIAN_FRONTEND noninteractive ENV LANG en_US.UTF-8 ENV LC_ALL en_US.UTF-8 -- 2.20.1
© 2016 - 2024 Red Hat, Inc.