summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormeko <mekolat@users.noreply.github.com>2015-09-18 15:28:13 -0400
committermeko <mekolat@users.noreply.github.com>2015-09-18 15:28:13 -0400
commit05b13aab2a018f8a5a519a2f154fd2de123439ec (patch)
tree62f0fd9dfa842fe837c36a51ed526570cb4c48fb
parentfa1bbbb59aae6028a48b815947aa6c89a7ce683a (diff)
parentc002fbfb3bc9011630631f16d5decf561ed37f85 (diff)
downloadtmwa-05b13aab2a018f8a5a519a2f154fd2de123439ec.tar.gz
tmwa-05b13aab2a018f8a5a519a2f154fd2de123439ec.tar.bz2
tmwa-05b13aab2a018f8a5a519a2f154fd2de123439ec.tar.xz
tmwa-05b13aab2a018f8a5a519a2f154fd2de123439ec.zip
Merge pull request #147 from mekolat/travis
use travis container infrastructure
-rw-r--r--.travis.yml127
1 files changed, 60 insertions, 67 deletions
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