From c002fbfb3bc9011630631f16d5decf561ed37f85 Mon Sep 17 00:00:00 2001 From: mekolat Date: Tue, 8 Sep 2015 13:46:39 -0400 Subject: use travis container infrastructure --- .travis.yml | 127 ++++++++++++++++++++++++++++-------------------------------- 1 file changed, 60 insertions(+), 67 deletions(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index accc0ba..5d1f856 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,99 +17,92 @@ notifications: on_failure: always use_notice: true -## Commands before installing prerequisites -before_install: export CC=${REAL_CC} CXX=${REAL_CXX} +## Use the container-based infrastructure +sudo: false + +## Commands before installing +before_install: + - if [ $(git rev-list --count HEAD ^master) -gt 50 ] ; then exit 1; fi + - export CC=${REAL_CC} CXX=${REAL_CXX} -## Install prerequisites install: -# if > or | folding is used, error -# but YAML folds by default on this, so it works (I hope) - - - if [ -n "$PPA" ]; - then - echo sudo add-apt-repository --yes $PPA; - sudo add-apt-repository --yes $PPA; - fi - - - if [ -n "$PPA2" ]; - then - echo sudo add-apt-repository --yes $PPA2; - sudo add-apt-repository --yes $PPA2; - fi - - sudo apt-get update -qq - - echo sudo apt-get install -qq $PACKAGE $DEBUGPACKAGE - - sudo apt-get install -qq $PACKAGE $DEBUGPACKAGE - - sudo apt-get install -qq libgtest-dev valgrind - make --version - -## Do something before the main test script -before_script: - - - if [ $PACKAGE = clang-3.1 ]; - then - wget http://clang.llvm.org/libstdc++4.6-clang11.patch; - sudo patch /usr/include/c++/4.6/type_traits < libstdc++4.6-clang11.patch; - fi - - if test -f /usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.*-gdb.py; then sudo sed -i /usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.*-gdb.py -e "s:^libdir = .*$:libdir = '/usr/lib/x86_64-linux-gnu':"; fi - -## Main test script -script: - mkdir build - cd build - git init - - echo ../configure --build=x86_64-linux-gnu --dev CPPFLAGS=-DQUIET `! [[ $CXX =~ clang* ]] || echo --disable-abi` $EXTRA_CONFIGURE_ARGS - ../configure --build=x86_64-linux-gnu --dev CPPFLAGS=-DQUIET `! [[ $CXX =~ clang* ]] || echo --disable-abi` $EXTRA_CONFIGURE_ARGS + +## Main test script +script: - make -R -k -j2 - make -R -k -j2 test TESTER='valgrind --error-exitcode=1 --track-fds=yes' ## Do something after the main test script -#after_script: +after_success: - make -R -k -j2 format - git --git-dir=../.git --work-tree=.. diff --exit-code - make -R -k -j2 dist bindist ### The rest of the file creates a build matrix -### containing gcc-4.6 through gcc-4.8 and clang-3.1 through clang-3.3 - -## This doesn't work - travis defaults to plain gcc if unknown -## http://github.com/travis-ci/travis-ci/issues/979 -#compiler: -# - gcc-4.6 -# - gcc-4.7 -# - gcc-4.8 -# - clang-3.1 -# - clang-3.2 -# - clang-3.3 -env: - - ignore=this matrix: - allow_failures: - - compiler: clang - env: REAL_CC=clang-3.3 REAL_CXX=clang++-3.3 PPA=ppa:h-rayflood/llvm PACKAGE=clang-3.3 DEBUGPACKAGE=libstdc++6-4.6-dbg - exclude: - - env: ignore=this + fast-finish: true include: - compiler: clang - env: REAL_CC=clang-3.3 REAL_CXX=clang++-3.3 PPA=ppa:h-rayflood/llvm PACKAGE=clang-3.3 DEBUGPACKAGE=libstdc++6-4.6-dbg + env: REAL_CC=clang-3.5 REAL_CXX=clang++-3.5 + addons: + apt: + sources: + - llvm-toolchain-precise-3.5 + - ubuntu-toolchain-r-test + packages: + - clang-3.5 + - libstdc++6-4.6-dbg + - libgtest-dev + - valgrind + - gdb - compiler: clang - env: REAL_CC=clang-3.4 REAL_CXX=clang++-3.4 PPA=ppa:h-rayflood/llvm PACKAGE=clang-3.4 DEBUGPACKAGE=libstdc++6-4.6-dbg - - compiler: clang - env: REAL_CC=clang-3.5 REAL_CXX=clang++-3.5 PPA=ppa:h-rayflood/llvm-upper PPA2=ppa:h-rayflood/gcc-upper PACKAGE=clang-3.5 DEBUGPACKAGE=libstdc++6-4.6-dbg - - compiler: gcc - env: REAL_CC=gcc-4.7 REAL_CXX=g++-4.7 PPA=ppa:ubuntu-toolchain-r/test PACKAGE=g++-4.7 DEBUGPACKAGE=libstdc++6-4.8-dbg + env: REAL_CC=clang-3.6 REAL_CXX=clang++-3.6 + addons: + apt: + sources: + - llvm-toolchain-precise-3.6 + - ubuntu-toolchain-r-test + packages: + - clang-3.6 + - libstdc++6-4.6-dbg + - libgtest-dev + - valgrind + - gdb - compiler: gcc - env: REAL_CC=gcc-4.8 REAL_CXX=g++-4.8 PPA=ppa:ubuntu-toolchain-r/test PACKAGE=g++-4.8 DEBUGPACKAGE=libstdc++6-4.8-dbg - - compiler: gcc - env: REAL_CC=gcc-4.9 REAL_CXX=g++-4.9 PPA=ppa:ubuntu-toolchain-r/test PACKAGE=g++-4.9 DEBUGPACKAGE=libstdc++6-4.9-dbg - - compiler: gcc - env: REAL_CC=gcc-5 REAL_CXX=g++-5 PPA=ppa:ubuntu-toolchain-r/test PACKAGE=g++-5 DEBUGPACKAGE=libstdc++6-5-dbg - + env: REAL_CC=gcc-4.9 REAL_CXX=g++-4.9 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-4.9 + - libstdc++6-4.9-dbg + - libgtest-dev + - valgrind + - gdb - compiler: gcc - env: REAL_CC=gcc-4.7 REAL_CXX=g++-4.7 PPA=ppa:ubuntu-toolchain-r/test PACKAGE=g++-4.7 DEBUGPACKAGE=libstdc++6-4.8-dbg EXTRA_CONFIGURE_ARGS=--disable-warnings + env: REAL_CC=gcc-5 REAL_CXX=g++-5 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-5 + - libstdc++6-5-dbg + - libgtest-dev + - valgrind + - gdb # everything that was pushed to stable was already on 'master', except # the version change and some doc changes. +# everything that was pushed to test-server was in a PR so it passed travis branches: except: - stable + - test-server -- cgit v1.2.3-60-g2f50