aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
AgeCommit message (Collapse)Author
2019-05-21cirrus / travis: Add gnu-sed and bash for macOS and FreeBSDThomas Huth
We are going to enable the qemu-iotests during "make check" again, and for running the iotests, we need bash and gnu-sed. Reviewed-by: Li-Wen Hsu <lwhsu@freebsd.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Message-Id: <20190502084506.8009-5-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2019-05-02tests/boot_linux_console: add a test for alpha + clipperCleber Rosa
Similar to the x86_64 + pc test, it boots a Linux kernel on a Malta board and verify the serial is working. One extra command added to the QEMU command line is '-vga std', because the kernel used is known to crash without it. If alpha is a target being built, "make check-acceptance" will automatically include this test by the use of the "arch:alpha" tags. Alternatively, this test can be run using: $ avocado run -t arch:alpha tests/acceptance $ avocado run -t machine:clipper tests/acceptance Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Cleber Rosa <crosa@redhat.com> Reviewed-by: Caio Carrara <ccarrara@redhat.com> Message-Id: <20190312171824.5134-21-crosa@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2019-05-02tests/boot_linux_console: add a test for s390x + s390-ccw-virtioCleber Rosa
Just like the previous tests, boots a Linux kernel on a s390x target using the s390-ccw-virtio machine. Because it's not possible to have multiple VT220 consoles, '-nodefaults' is used, so that the one set with set_console() works correctly. Signed-off-by: Cleber Rosa <crosa@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Caio Carrara <ccarrara@redhat.com> Message-Id: <20190312171824.5134-20-crosa@redhat.com> [ehabkost: Updated kernel URL to point to fedoraproject.org] Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2019-05-02tests/boot_linux_console: add a test for arm + virtCleber Rosa
Just like the previous tests, boots a Linux kernel on an arm target using the virt machine. Signed-off-by: Cleber Rosa <crosa@redhat.com> Reviewed-by: Caio Carrara <ccarrara@redhat.com> Message-Id: <20190312171824.5134-19-crosa@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2019-05-02tests/boot_linux_console: add a test for aarch64 + virtCleber Rosa
Just like the previous tests, boots a Linux kernel on a aarch64 target using the virt machine. One special option added is the CPU type, given that the kernel selected fails to boot on the virt machine's default CPU (cortex-a15). Signed-off-by: Cleber Rosa <crosa@redhat.com> Reviewed-by: Caio Carrara <ccarrara@redhat.com> Message-Id: <20190312171824.5134-18-crosa@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2019-05-02tests/boot_linux_console: add a test for mips64el + maltaCleber Rosa
Similar to the x86_64 + pc test, it boots a Linux kernel on a Malta board and verify the serial is working. If mips64el is a target being built, "make check-acceptance" will automatically include this test by the use of the "arch:mips64el" tags. Alternatively, this test can be run using: $ avocado run -t arch:mips64el tests/acceptance $ avocado run -t machine:malta tests/acceptance Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Cleber Rosa <crosa@redhat.com> Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com> Message-Id: <20190312171824.5134-15-crosa@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2019-05-02tests/boot_linux_console: add a test for mips + maltaPhilippe Mathieu-Daudé
Similar to the x86_64 + pc test, it boots a Linux kernel on a Malta board and verify the serial is working. Also, it relies on the serial device set by the machine itself. If mips is a target being built, "make check-acceptance" will automatically include this test by the use of the "arch:mips" tags. Alternatively, this test can be run using: $ avocado run -t arch:mips tests/acceptance $ avocado run -t machine:malta tests/acceptance $ avocado run -t endian:big tests/acceptance Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Cleber Rosa <crosa@redhat.com> Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190312171824.5134-14-crosa@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2019-05-02tests/acceptance: show avocado test execution by defaultCleber Rosa
The current version of the "check-acceptance" target will only show one line for execution of all tests. That's probably OK if the tests to be run are quick enough and they're always the same. But, there's already one test alone that takes on average ~5 seconds to run, we intend to adapt the list of tests to match the user's build environment (among other choices). Because of that, let's present the default Avocado UI by default. Users can always choose a different output by setting the AVOCADO_SHOW variable. Signed-off-by: Cleber Rosa <crosa@redhat.com> Reviewed-by: Caio Carrara <ccarrara@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Message-Id: <20190312171824.5134-2-crosa@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2019-03-25.travis.yml: reduce number of targets built while disabling thingsAlex Bennée
This build keeps timing out on Travis and it's unlikely including the additional guest front-ends will catch any failures in the fallback code. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Acked-by: Stefano Garzarella <sgarzare@redhat.com> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
2019-03-25.travis.yml: --disable-user for --without-default-devicesAlex Bennée
This is essentially a softmmu tweak so don't bother building linux-user builds as well. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
2019-03-25.travis.yml: split some more system buildsAlex Bennée
We define a new class of targets (MAIN_SOFTMMU_TARGETS) to cover the major architectures. We either just build those or use the new target-list-exclude mechanism to remove them from the list. This will hopefully stop some of the longer builds hitting the Travis timeout limit. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
2019-03-12.travis.yml: add softmmu check-tcg testsAlex Bennée
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-03-12.travis.yml: separate softfloat from check-tcgAlex Bennée
While used by TCG it is not explicitly part of TCG and the tests can be run standalone in a minimal build. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-03-12.travis.yml: reduce the module builds to major architecturesAlex Bennée
The --enable-modules build is consistently tripping the time limit so reduce our target list to the "major" architectures. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-03-12.travis.yml: combine docs and tools build with out-of-treeAlex Bennée
We will be moving all builds out of tree eventually but for now we need to for building the docs as sphinx requires an out-of-tree build. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-03-12travis: Bump Xcode 10 image to 10.2Philippe Mathieu-Daudé
Travis enforce the use of the git protocol v2 on their images, but the 'xcode10' image doesn't handle this correctly, resulting in the brew packages installation failing: $ git config protocol.version 2 $ rvm $brew_ruby do brew bundle --verbose --global /usr/local/bin/brew tap homebrew/bundle ==> Tapping homebrew/bundle Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle'... fatal: unknown value for config 'protocol.version': 2 Error: Failure while executing; `git clone https://github.com/Homebrew/homebrew-bundle /usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle --depth=1` exited with 128. Error: Failure while executing; `/usr/local/bin/brew tap homebrew/bundle` exited with 1. The newer 'xcode10.2' beta [*] image doesn't have this limitation. This image comes with the following brew packages pre-installed, which extend the current code coverage: - libffi - libpng - libtasn1 - gnutls - jpeg - nettle [*] https://blog.travis-ci.com/2019-02-12-xcode-10-2-beta-2-is-now-available Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190220193541.24419-1-philmd@redhat.com> [AJB: re-enabled MacOS build first] Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-03-07.travis.yml: test that no-default-device builds do not regressPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-02-22.travis.yml: Remove disable-uuidDr. David Alan Gilbert
Commit 315d3184525 turned --disable-uuid into a warning only; remove the check from Travis. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20190215094502.32149-2-dgilbert@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-02-22.travis.yml: Test with disable-replicationDr. David Alan Gilbert
We've had the build break with replication disabled, so lets test that case in travis. Suggsted-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20190215094502.32149-1-dgilbert@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-02-22.travis.yml: split debug buildsAlex Bennée
The builds are reaching the magic 50 minute limit with regularity so lets split them up. Rather than doing a full debug build on both just enable debug tcg for linux-user. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
2019-02-22.travis.yml: the xcode10 image seems to be hosedPaolo Bonzini
It fails to install homebrew. Unfortunately we cannot mark it as an expected failure because Travis does not match allow_failures rows against include rows (only against the main test matrix, which we do not use at all), so just disable it. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20190220105131.23479-1-pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-02-08.travis.yml: fold --disable-tcg into alternate coroutine buildsAlex Bennée
The alternate coroutine builds are really only of interest to people running KVM (although I think you could use them for TCG if you really tried). As they tend to run long lets kill two birds with one stone and fold the --disable-tcg build into them. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-02-08.travis.yml: separate tools and docs into another entryAlex Bennée
Re-building the tools and documents by default is a little wasteful as they are not really affected by the main build options. Split tools and documents into their own task with a minimal softmmu and linux-user target list just to check they don't interact badly. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-02-08.travis.yml: stop requesting libffi & gettext from homebrewDaniel P. Berrangé
The default package set installed on macOS builders from Travis already includes libffi and gettext as shown by log messages: Skipping install of libffi formula. It is already up-to-date. Using libffi Skipping install of gettext formula. It is already up-to-date. Using gettext Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-01-17Travis CI: make specified Python versions usable on jobsCleber Rosa
For the two Python jobs, which seem to have the goal of making sure QEMU builds successfully on the 3.0-3.6 spectrum of Python 3 versions, the specified version is only applicable if a Python virtual environment is used. To do that, it's necessary to define the (primary?) language of the job to be Python. Also, Travis doesn't have a 3.0 Python installation available for the chosen distro, 3.4 being the lower version available. Reference: https://docs.travis-ci.com/user/languages/python/#specifying-python-versions Signed-off-by: Cleber Rosa <crosa@redhat.com> Message-Id: <20181109150710.31085-4-crosa@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> [ehabkost: Now 3.4 is the lowest Python version available] Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> fixup! Travis CI: make specified Python versions usable on jobs Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2019-01-14travis: bump to Xenial baselineAlex Bennée
Travis is slowly catching up. Move to Xenial based images for our current builds. These are now all proper VMs. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-01-14travis: remove matrix settings that duplicate global settingsDaniel P. Berrangé
The global defaults request "trusty" and "gcc", so matrix entries do not need to repeat this. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-01-14travis: run tests in verbose modeDaniel P. Berrangé
Travis sometimes fails a build because it produces no console output for over 10 minutes. If this is due to a genuine hang, it would be useful to have used verbose test output to see where it failed. If this is just due to tests being very slow, having verbose output might allow the build to succeed. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-01-14travis: stop using container based envsDaniel P. Berrangé
The Travis container based envs are deprecated: https://docs.travis-ci.com/user/reference/trusty/ "Container-based infrastructure is currently being deprecated. Please remove any sudo: false keys in your .travis.yml file to use the default fully-virtualized Linux infrastructure instead." Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-01-14travis: stop redefining the script commandsDaniel P. Berrangé
One of the matrix entries redefines the script command in order to add the ${MAKEFLAGS} variable. Ideally ${MAKEFLAGS} would be referenced by the definition of the ${TEST_CMD} env variable, but this isn't possible in travis. ${MAKEFLAGS} exists to eliminate duplication of flags in every "make" command, but this cure causes a worse problem, namely the reduplication of the "script" command. It is simpler to just insert "-j3" directly into any "make" command. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-01-14travis: use homebrew addon for MacOSXAlex Bennée
Rather than poking homebrew manually we can specify the packages needed via the homebrew addon. These are only installed on MacOS based builds. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2019-01-14travis: don't clone git submodules upfrontDaniel P. Berrangé
The configure script & Makefile are already capable of figuring out which git submodules are required for a given build platform, and cloning them at the right time. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-01-14travis: standardize the syntax used for env variablesDaniel P. Berrangé
Matrix entries are defining env variables using two different syntax styles: - env: FOO=bar WIZZ=bang and - env: - FOO=bar - WIZZ=bang Switch everything to use the latter style as the more normal indentation approach. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-01-14travis: define all the build matrix entries in one placeDaniel P. Berrangé
The current build matrix is constructed from entries listed under the environment variable config section, as well as the general purpose build matrix section. Move everything under the general purpose section so it is clear at a glance what is in the matrix. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-01-14travis: add whitespace between each major section & matrix entryDaniel P. Berrangé
Improve the readability of the travis config by adding two blank lines between each major section and matrix entry. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2018-11-14.travis.yml: split MacOSX builds and reduce target listAlex Bennée
We have reached the point where the MacOSX build was regularly timing out. So as before I've reduced the target list to "major" architectures to try and bring the build time down. I've added an additional MacOSX build with the latest XCode with a minimal list of "most likely" targets on MacOS. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2018-10-30Travis support for the acceptance testsCleber Rosa
This enables the execution of the acceptance tests on Travis. Because the Travis environment is based on Ubuntu Trusty, it requires the python3-pip and python3.4-venv packages. Signed-off-by: Cleber Rosa <crosa@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Acked-by: Stefan Hajnoczi <stefanha@redhat.com> Acked-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Reviewed-by: Caio Carrara <ccarrara@redhat.com> Message-Id: <20181018153134.8493-4-crosa@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2018-07-05travis: add gcovr summary for GCOV buildAlex Bennée
This gives a more useful summary, sorted by descending % coverage, after the tests have run. The final numbers will give an idea if our coverage is getting better or worse. To keep the width sane we need to post process the file that the old gcovr tool generates. This is done with a mix of sed, awk and column in the scripts/coverage-summary.sh script. As quite a lot of lines don't get covered at all we filter out all the 0% lines. If the file doesn't appear it is not being exercised. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-07-05travis: test out-of-tree buildsPhilippe Mathieu-Daudé
Force one config to build 'out-of-tree' (object files and executables are created in a tree outside the project source code). Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-07-05travis: do not waste time cloning unused submodulesPhilippe Mathieu-Daudé
Builds only require: - dtc - keycodemapdb - capstone Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> [AJB: drop wget cache] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-06-20.travis.yml: add check-tcg testAlex Bennée
Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
2018-06-14travis: reduce time taken for trace-backend testingAlex Bennée
These builds are reaching regular timeouts and probably don't need to be so widely exercised. ftrace and ust in particular are used in conjunction with whole system profiling which makes most sense with KVM setups, hence the native softmmu target. We also expand simple to cover the multiple log backends while restricting its scope to user-mode testing only. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
2018-06-14travis: reduce coverage of gprof buildAlex Bennée
This build is regularly timing out and even switching off linux-user wasn't enough. Instead explicitly choose a target list of broadly the "major" architectures. This is enough to check the gprof build machinery works without worrying about the actual coverage results. I did try various YAML constructs for specifying CONFIG with continuation but couldn't get any of them to work hence the very long line. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
2018-06-14travis: display config.log when configure failsDaniel P. Berrangé
When configure fails in CI systems we must be able to see the contents of the config.log file to diagnose the root cause. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Fam Zheng <famz@redhat.com> [AJB: used Eric's suggested {} form] Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2018-06-01.travis.yml: update GCC sanitizer build to GCC 7Alex Bennée
GCC has moved on and so should we. We also enable apt update to ensure we get the latest build from the toolchain PPA. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
2018-06-01.travis.yml: make current setup explicitAlex Bennée
Add some commentary and make the selection of Container based Trusty build explicit. We will need to add VM builds later when using docker. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
2018-06-01.travis.yml: rationalise clang testingAlex Bennée
As Travis includes Clang 5.0 in its own build environment there is no point manually building with older Clangs. We still need to test with the two pythons though so we leave them as minimal system only builds. We also split the clang build into two as it often exceeds the 40 minute build time limit. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
2018-06-01.travis.yml: disable linux-user build for gcovAlex Bennée
Currently the default testing doesn't exercise the linux-user builds so there is no point spending time building them. We may want to enable a separate gcov build once linux-user testing is re-enabled although it's likely to report very low coverage. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
2018-03-13.travis.yml: add --disable-user with the rest of the disablesAlex Bennée
As all the disabled features only affect system emulation we might as well disable user mode to save compile time. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-03-13.travis.yml: split default config into system and userAlex Bennée
As the build times have risen we keep timing out. Split the default config into system and user builds. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>