From d9a6b013118aa0b7f451f7a17f6eb683f4da0bdc Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Thu, 27 Oct 2016 15:23:45 +0200 Subject: [PATCH 1/2] travis: trim out most clang builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Stefan Hajnoczi Signed-off-by: Alex Bennée --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 9916178bf3..0706b9a1df 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,6 @@ python: - "2.4" compiler: - gcc - - clang cache: ccache addons: apt: @@ -68,6 +67,9 @@ script: - make -j3 && ${TEST_CMD} matrix: include: + # Test with CLang for compile portability + - env: CONFIG="" + compiler: clang # gprof/gcov are GCC features - env: CONFIG="--enable-gprof --enable-gcov --disable-pie" compiler: gcc From ae1a772c5607f25cbdc80063f0f5a85290434058 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Mon, 7 Nov 2016 14:41:09 +0000 Subject: [PATCH 2/2] travis: add Trusty with clang stable build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .travis.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.travis.yml b/.travis.yml index 0706b9a1df..d83e2d493b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -103,6 +103,26 @@ matrix: - sudo apt-get build-dep -qq qemu - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ - git submodule update --init --recursive + # Trusty build with latest stable clang + - env: CONFIG="" + sudo: required + addons: + dist: trusty + language: generic + compiler: none + env: + - COMPILER_NAME=clang CXX=clang++-3.9 CC=clang-3.9 + - CONFIG="--cc=clang-3.9 --cxx=clang++-3.9" + before_install: + - wget -nv -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add - + - sudo apt-add-repository -y 'deb http://llvm.org/apt/trusty llvm-toolchain-trusty-3.9 main' + - sudo apt-get update -qq + - sudo apt-get install -qq -y clang-3.9 + - sudo apt-get build-dep -qq qemu + - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ + - git submodule update --init --recursive + before_script: + - ./configure ${CONFIG} || cat config.log # Using newer GCC with sanitizers - addons: apt: