summaryrefslogtreecommitdiffstats
path: root/.travis.yml
Commit message (Collapse)AuthorAgeFilesLines
* travis: move make -j flag out of scriptPaolo Bonzini2017-07-181-1/+2
| | | | | | | | | 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>
* travis: add no-TCG buildPaolo Bonzini2017-07-171-0/+3
| | | | | | | | 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>
* coroutine: remove GThread implementationDaniel P. Berrange2017-05-121-4/+1Star
| | | | | | | | | | | | 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>
* .travis.yml: split VM based buildsAlex Bennée2017-02-101-4/+34
| | | | | | | | | | 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>
* .travis.yml: don't specify CONFIG twiceAlex Bennée2017-02-101-2/+1Star
| | | | Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
* travis: add Trusty with clang stable buildAlex Bennée2017-01-121-0/+20
| | | | | | | | 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>
* travis: trim out most clang buildsDaniel P. Berrange2017-01-121-1/+3
| | | | | | | | | | | | | | | | | | | 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>
* .travis.yml: add gcc sanitizer buildAlex Bennée2016-10-041-0/+45
| | | | | | | | | | | | | | | | 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>
* .travis.yml: Disable IRC build status updates from forksPranith Kumar2016-07-181-1/+4
| | | | | | | | | | | | | | | | | | 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>
* .travis.yml: disable Sparse testingPaolo Bonzini2016-06-081-3/+0Star
| | | | | | | | | | | | | | | | 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>
* .travis.yml: add trusty GCE targetAlex Bennée2016-06-081-0/+10
| | | | | | | | 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>
* .travis.yml: add libnfs-dev for NFS block driverStefan Hajnoczi2016-06-081-0/+1
| | | | | | | | | | | | | | | | | 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>
* .travis.yml: make -j3Alex Bennée2016-04-051-1/+1
| | | | | | | | | | | 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>
* .travis.yml: enable OSX buildsAlex Bennée2016-04-051-0/+5
| | | | | | | | | | | | | 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>
* .travis.yml: collapse the test matrixAlex Bennée2016-04-051-57/+18Star
| | | | | | | | | | | | 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>
* .travis.yml: reduce the test matrix a littleAlex Bennée2016-02-081-25/+17Star
| | | | | | | | | | | | | 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>
* .travis.yml: enable ccache for the buildsAlex Bennée2016-02-081-0/+1
| | | | | | | | | | 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>
* .travis.yml: enable each of the co-routine backendsAlex Bennée2016-02-081-1/+14
| | | | | | | | 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>
* .travis.yml: run make check for all matrix targetsAlex Bennée2016-02-081-7/+10
| | | | | | | | | | | | | 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>
* .travis.yml: migrate to container buildsAlex Bennée2016-02-051-12/+32
| | | | | | | | | | | | | | 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>
* trace: convert stderr backend to logPaolo Bonzini2016-02-031-1/+1
| | | | | | | | | | | [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>
* .travis.yml: Run make check for all targets, not just someDavid Gibson2015-10-081-9/+1Star
| | | | | | | | | | | | | | | | | | | 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>
* .travis.yml: Add "--enable-modules"Paolo Bonzini2015-01-261-0/+3
| | | | | | | We will change the default to "--enable-modules", let's cover it before the switch. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* .travis.yml: remove "make check" from main matrixAlex Bennée2014-09-261-3/+15
| | | | | | | | | | | | 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>
* .travis.yml: pre-seed sub-modules for speedAlex Bennée2014-09-261-0/+4
| | | | | | | | | | | | 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>
* .travis.yml: make the make slightly more parallelAlex Bennée2014-09-261-1/+4
| | | | | | | | | | 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>
* .travis.yml: add more linux-user to the build matrixAlex Bennée2014-09-261-15/+15
| | | | | | | | | | | 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>
* trace: Multi-backend tracingLluís Vilanova2014-06-091-4/+4
| | | | | | | | | | | | | | | 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>
* .travis.yml: add IRC notifications for build failuresAlex Bennée2014-03-151-0/+6
| | | | | | | | | | | | | | 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>
* .travis.yml: trivial whitespace fixupAlex Bennée2014-03-151-17/+17
| | | | | | | | 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>
* .travis.yml: re-enable lttng user space trace testAlex Bennée2014-03-151-5/+4Star
| | | | | | | | | 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>
* .travis.yml: add a new build target with non-core devlibsAlex Bennée2014-03-151-0/+4
| | | | | | | | | | | | 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>
* .travis.yml: Add aarch64-* targetsAlex Bennée2014-01-081-0/+1
| | | | | | | | 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>
* .travis.yml: basic compile and check recipesAlex Bennée2013-11-131-0/+71
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>