summaryrefslogtreecommitdiff
path: root/.travis.yml
AgeCommit message (Collapse)Author
2018-02-13travis: use libgcc-4.8-dev (libgcc-6-dev is not available on Ubuntu 14.04)Philippe Mathieu-Daudé
Travis image is based on Ubuntu Trusty (14.04), since d83414e1fd1 we get: $ sudo -E \ apt-get -yq --no-install-suggests --no-install-recommends --force-yes \ install \ libaio-dev libattr1-dev libbrlapi-dev libcap-ng-dev libgcc-6-dev \ libgnutls-dev libgtk-3-dev libiscsi-dev liblttng-ust-dev \ libncurses5-dev libnfs-dev libnss3-dev libpixman-1-dev libpng12-dev \ librados-dev libsdl1.2-dev libseccomp-dev libspice-protocol-dev \ libspice-server-dev libssh2-1-dev liburcu-dev libusb-1.0-0-dev \ libvte-2.90-dev sparse uuid-dev Reading package lists... Building dependency tree... Reading state information... E: Unable to locate package libgcc-6-dev Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
2018-02-09.travis.yml: add --disable-linux-user for some jobsAlex Bennée
The modules and co-routine builds are only really relevant to softmmu builds and regularly timeout on Travis. Let's disable linux-user builds here for more headroom. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Daniel P. Berrange <berrange@redhat.com>
2018-02-07Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into stagingPeter Maydell
* socket option parsing fix (Daniel) * SCSI fixes (Fam) * Readline double-free fix (Greg) * More HVF attribution fixes (Izik) * WHPX (Windows Hypervisor Platform Extensions) support (Justin) * POLLHUP handler (Klim) * ivshmem fixes (Ladi) * memfd memory backend (Marc-André) * improved error message (Marcelo) * Memory fixes (Peter Xu, Zhecheng) * Remove obsolete code and comments (Peter M.) * qdev API improvements (Philippe) * Add CONFIG_I2C switch (Thomas) # gpg: Signature made Wed 07 Feb 2018 15:24:08 GMT # gpg: using RSA key BFFBD25F78C7AE83 # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1 # Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83 * remotes/bonzini/tags/for-upstream: (47 commits) Add the WHPX acceleration enlightenments Introduce the WHPX impl Add the WHPX vcpu API Add the Windows Hypervisor Platform accelerator. tests/test-filter-redirector: move close() tests: use memfd in vhost-user-test vhost-user-test: make read-guest-mem setup its own qemu tests: keep compiling failing vhost-user tests Add memfd based hostmem memfd: add hugetlbsize argument memfd: add hugetlb support memfd: add error argument, instead of perror() cpus: join thread when removing a vCPU cpus: hvf: unregister thread with RCU cpus: tcg: unregister thread with RCU, fix exiting of loop on unplug cpus: dummy: unregister thread with RCU, exit loop on unplug cpus: kvm: unregister thread with RCU cpus: hax: register/unregister thread with RCU, exit loop on unplug ivshmem: Disable irqfd on device reset ivshmem: Improve MSI irqfd error handling ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org> # Conflicts: # cpus.c
2018-02-07ucontext: annotate coroutine stack for ASANMarc-André Lureau
It helps ASAN to detect more leaks on coroutine stacks, and to get rid of some extra warnings. Before: tests/test-coroutine -p /basic/lifecycle /basic/lifecycle: ==20781==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==20781==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffcb184d000; bottom 0x7ff6c4cfd000; size: 0x0005ecb50000 (25446121472) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 OK After: tests/test-coroutine -p /basic/lifecycle /basic/lifecycle: ==21110==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! OK A similar work would need to be done for sigaltstack & windows fibers to have similar coverage. Since ucontext is preferred, I didn't bother checking the other coroutine implementations for now. Update travis to fix the build with ASAN annotations. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20180116151152.4040-4-marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2018-02-05travis: improve python version test coverageDaniel P. Berrange
Currently travis declares ancient python 2.4 is desired. Update that to 2.6 which is the oldest version any targetted distros still needs. If we just list a python 3 version at the top level this will double the number of travis jobs we run which is unreasonable. So arbitrarily pick the clang test matrix entries to build with python 3.0 and 3.6, to extend coverage of python versions, without increasing job count or build time. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Message-Id: <20180116134217.8725-14-berrange@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2017-07-18travis: move make -j flag out of scriptPaolo Bonzini
Because global environment variables can be overridden when .travis.yml is processed by the docker-travis target, the effect of this patch is that docker-travis now obeys the "J=n" option. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2017-07-17travis: add no-TCG buildPaolo Bonzini
It's fairly easy for --disable-tcg to bitrot. Test it in our CI. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20170714093016.10897-1-pbonzini@redhat.com> Signed-off-by: Fam Zheng <famz@redhat.com>
2017-05-12coroutine: remove GThread implementationDaniel P. Berrange
The GThread implementation is not functional enough to actually run QEMU reliably. While it was potentially useful for debugging, we have a scripts/qemugdb/coroutine.py to enable tracing of ucontext coroutines in GDB, so that removes the only reason for GThread to exist. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Acked-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2017-02-10.travis.yml: split VM based buildsAlex Bennée
The Trusty based builds run a little slower than the main container based ones. This is also true for the latest version of Clang. The builds are getting very close (and occasionally run over) the 50 minute timeout. Rather than partitioning by target I just split them into linux-user and system builds. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2017-02-10.travis.yml: don't specify CONFIG twiceAlex Bennée
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2017-01-12travis: add Trusty with clang stable buildAlex Bennée
Although we've reduced the matrix to avoid repeating clang builds we can still add an additional clang build to use the latest stable version of clang which will typically be available on current distros. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2017-01-12travis: trim out most clang buildsDaniel P. Berrange
We test with both gcc and clang in order to detect cases where clang issues warnings that gcc misses. To achieve this though we don't need to build QEMU in multiple different configurations. Just a single clang-on-linux build will be sufficient, if we have an "all enabled" config. This cuts the number of build jobs from 21 to 16, reducing the load imposed on shared Travis CI infra. This will make it practical to enable jobs for other interesting & useful configurations without DOS'ing Travis to much. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2016-10-04.travis.yml: add gcc sanitizer buildAlex Bennée
As it seems easy to break the ThreadSanitizer build we should defend it to ensure that fixes get applied when it breaks. We use the Ubuntu GCC PPA to get the latest GCC goodness. As we need to use the -fuse-ld=gold work around we have to disable the linux-user targets as these trip up the linker. The make check run is also disabled for Travis but this can be re-enabled once the check targets have been fixed. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20160930213106.20186-13-alex.bennee@linaro.org>
2016-07-18.travis.yml: Disable IRC build status updates from forksPranith Kumar
We want the travis build bot to post notifications on IRC only for the master qemu repository and not the various forks/branches of others. Currently there is no direct option to restrict the updates to one repository. This is being worked upon by the developers and tracked in https://github.com/travis-ci/travis-ci/issues/1094. Until such time, we can use the workaround as posted in ref. https://github.com/facebook/flow/pull/1822. This basically creates an ecrypted string which decrypts to qemu IRC channel only on "qemu/qemu" repo and not on the forks. This enables the build bot to notify the IRC only for the main repo. Signed-off-by: Pranith Kumar <bobby.prani@gmail.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2016-06-08.travis.yml: disable Sparse testingPaolo Bonzini
On travis-ci.org, all builds fail with /usr/include/features.h:324:11: error: unable to open bits/predefs.h With "make docker-travis@ubuntu", they fail with /usr/include/features.h:374:13: error: unable to open sys/cdefs.h With "make docker-travis@fedora", finally, they fail due to sparse not being able to parse some #pragmas in glib headers. Just kill the thing from the CI builds. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> [AJB: tweak title for my OCD] Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2016-06-08.travis.yml: add trusty GCE targetAlex Bennée
If we want to run our docker based tests we'll need to do them on a normal VM with docker support. Lets just enable the build on trusty for now to check against a newer Ubuntu. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2016-06-08.travis.yml: add libnfs-dev for NFS block driverStefan Hajnoczi
Let's ensure that block/nfs.o is built in Travis. This patch depends on the following build fixes: 1. block/nfs: add missing #include "qapi/error.h" 2. block/nfs: add missing #include "qemu/cutils.h" This patch also depends on Travis adding libnfs-dev to the list of approved packages. This patch can be safely committed but will not do anything until the Travis maintainers allow libnfs-dev to be installed. Please see the GitHub Issue I raised here: https://github.com/travis-ci/apt-package-whitelist/issues/2788 Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2016-04-05.travis.yml: make -j3Alex Bennée
The move from Travis VMs to Containers came with a upgrade from 1.5 cores to 2. The received wisdom is -j N+1 means a core can be doing work while other threads wait for IO to complete. This is hard to test on the Travis infrastructure but an initial before/after eyeballing seems to confirm it is an improvement. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
2016-04-05.travis.yml: enable OSX buildsAlex Bennée
Travis has support for OSX builds. Making the setup work cleanly involves a little hacking about with the .travis.yml file but rather than make it too messy I've pushed all the "brew" install stuff into a support script called ./scripts/macosx-brew.sh. Currently only the default ./configure ${CONFIG} is built as I'm not sure what extra coverage would come from the other build stanzas. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Acked-by: Peter Maydell <peter.maydell@linaro.org>
2016-04-05.travis.yml: collapse the test matrixAlex Bennée
Remove the concept of TARGETS and build the complete target list for each config combination. Now the matrix is just based on CONFIG stanzas and we use the additional stuff for: - things that only work on one compiler (sparse, gcov, gprof) - combos where "make check" fails Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
2016-02-08.travis.yml: reduce the test matrix a littleAlex Bennée
As we are now running "make check" on more of the matrix it is worth making more of an effort to reduce the overall load on Travis. I've done a few things: - Combining a number of the targets - Building one target for each ancillary build Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Tested-by: David Gibson <david@gibson.dropbear.id.au>
2016-02-08.travis.yml: enable ccache for the buildsAlex Bennée
Travis support ccache on a cache-per-branch basis. Given not much of the build changes between pushes as well as the duplication in each build it seems worthwhile enabling this. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Tested-by: David Gibson <david@gibson.dropbear.id.au>
2016-02-08.travis.yml: enable each of the co-routine backendsAlex Bennée
We disable "make check" for the gthread backend as it is broken. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Tested-by: David Gibson <david@gibson.dropbear.id.au>
2016-02-08.travis.yml: run make check for all matrix targetsAlex Bennée
We only ran make check once before it used to be an unreliable target. It was only a stop gap measure and we should be able to revert it now. This also stops us needing a large all-MMU build. We disable "make check" for a couple of the extra config targets which are currently broken. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Tested-by: David Gibson <david@gibson.dropbear.id.au>
2016-02-05.travis.yml: migrate to container buildsAlex Bennée
This moves the Travis tests from the legacy VM infrastructure (which only seems to run 5-6 jobs at once) to the new container based approach. The principle difference is there is no sudo in the containers so all packages are installed using the apt add-on. This means one of the build combinations can be dropped as it was only for checking the build with additional packages. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
2016-02-03trace: convert stderr backend to logPaolo Bonzini
[Also update .travis.yml --enable-trace-backends=stderr --Stefan] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Denis V. Lunev <den@openvz.org> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Message-id: 1452174932-28657-10-git-send-email-den@openvz.org Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2015-10-08.travis.yml: Run make check for all targets, not just someDavid Gibson
ed173cb ".travis.yml: remove "make check" from main matrix" stopped running make check for all the Travis build targets for various reasons. It continued to run make check on one Travis build, which builds for a big list of all (? nearly all) our supported softmmu targets. Unfortunately, due to a spacing / quoting error it only actually builds for the alpha, arm, aarch64 and cris targets. Specifically, the list of targets is split over several lines. Even with YAML folding, this will leave spaces in the list, meaning $TARGETS won't have the value we need. I had a look at the YAML spec and I couldn't quickly see a way of splitting the list so that it doesn't end up with spaces, so this patch fixes the problem by putting the whole list on one huge line. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2015-01-26.travis.yml: Add "--enable-modules"Paolo Bonzini
We will change the default to "--enable-modules", let's cover it before the switch. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2014-09-26.travis.yml: remove "make check" from main matrixAlex Bennée
There are problems with unreliability in "make check" which still need to be tracked down. As the tests are broadly the same for all targets if added one explicit target to the matrix to run it. However this does build all softmmu targets to ensure they at least "run" Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Alexander Graf <agraf@suse.de> Reviewed-by: Brian Jackson <iggy@theiggy.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2014-09-26.travis.yml: pre-seed sub-modules for speedAlex Bennée
A significant portion of the build time is spent initialising all the sub-modules we use in the source tree. Often this is almost as long as the build itself. By pre-seeding the .git/modules tree this will hopefully improve things. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Alexander Graf <agraf@suse.de> Reviewed-by: Brian Jackson <iggy@theiggy.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2014-09-26.travis.yml: make the make slightly more parallelAlex Bennée
The Travis VMs have 1.5 cores so we might as well make some use of the paralellism. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Alexander Graf <agraf@suse.de> Reviewed-by: Brian Jackson <iggy@theiggy.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2014-09-26.travis.yml: add more linux-user to the build matrixAlex Bennée
At the same time I've grouped the $ARCH-linux-user and $ARCH-softmmu builds together (hoping FS cache helps) and grouped all $ARCH-softmmu only builds into one target. This reduces the build matrix slightly which will hopefully help with build times. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Alexander Graf <agraf@suse.de> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2014-06-09trace: Multi-backend tracingLluís Vilanova
Adds support to compile QEMU with multiple tracing backends at the same time. For example, you can compile QEMU with: $ ./configure --enable-trace-backends=ftrace,dtrace Where 'ftrace' can be handy for having an in-flight record of events, and 'dtrace' can be later used to extract more information from the system. This patch allows having both available without recompiling QEMU. Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2014-03-15.travis.yml: add IRC notifications for build failuresAlex Bennée
I'm trying to avoid spamming the IRC channel (not overly likely as builds take a while). So failure will always be reported but if the build continues to work then the IRC notifications will be quiet. Note any GitHub based repository with Travis enabled will use this notification. If it proves to be too spammy we may want to ask users not to use Travis themselves although this seems sub-optimal. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2014-03-15.travis.yml: trivial whitespace fixupAlex Bennée
Purely cosmetic but satisfies my OCD. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2014-03-15.travis.yml: re-enable lttng user space trace testAlex Bennée
This build was disabled while the lttng tracing was broken. Stefan has recently submitted a pull request with it re-enabled. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2014-03-15.travis.yml: add a new build target with non-core devlibsAlex Bennée
The current builds don't include all the features which are auto-detected and then disabled when the appropriate test packages don't exist. I've added another target that enables all known additional packages for increased coverage. I didn't add it to the core package list to reduce build time. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2014-01-08.travis.yml: Add aarch64-* targetsAlex Bennée
Now the AArch64 targets are in mainline we can include them in our Travis test matrix. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2013-11-13.travis.yml: basic compile and check recipesAlex Bennée
This adds a build matrix definition for travis-ci.org continuous integration service. It is usable on any public repository hosted on GitHub. Once you have created an account signed into Travis you can enable it on selected projects via travis-ci.org/profile. Alternatively you can configure the service hooks on GitHub via the repository Settings tab,then Service Hooks and selecting Travis. Once setup Travis will automatically test every push as well as any pull requests submitted to that repository. The build matrix is currently split by target architecture (see TARGETS environment variable) because a full build of QEMU can take some time. This way you get quick feedback for any obvious errors. The additional environment variables exist to allow additional builds to tweak the environment. These are: EXTRA_CONFIG - extra terms passed to configure EXTRA_PKGS - extra dev packages to install TEST_CMD - default "make check", can be overridden I've confined the additional stuff to x86/x86_64 for convenience. As Travis supports clang the main builds are done twice (once for gcc and once for clang). However clang is disabled for the debug/trace builds for the purposes of brevity. Other wrinkles: * The lttng user-space tracing back-end is disabled (it is currently horribly broken) * The ftrace back-end doesn't run "make check" (it requires a mounted debugfs to work) * There are two debug enabled build (with and without TCG interpreter) Signed-off-by: Alex Bennée <alex@bennee.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>