summaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
authorKyle Manna <kyle@kylemanna.com>2015-09-20 22:58:54 -0700
committerKyle Manna <kyle@kylemanna.com>2015-09-21 08:38:35 -0700
commit47bd244f2e7772c2259f2c37ddf9480959c2272a (patch)
tree3b460d03cb26c54c7de31f0c94e809b7f4080691 /.travis.yml
parent59d6add7d268b6252ee207db3378a72f5fb1bca5 (diff)
travis-ci: Build C/C++/Python matrix
* Test a number of C compilers * Travis CI can't handle three languages (C, C++, Python) * Add support for swapping python2/3 binaries * Scons has made no attempts to support python3 yet: * Build the matrix manually * Scons doesn't inherit $CC/$CXX from parent environement, so pass compiler flags directly
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml48
1 files changed, 38 insertions, 10 deletions
diff --git a/.travis.yml b/.travis.yml
index 5848c424..6b8db516 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,21 +1,49 @@
-language: c
+# Travis CI has no ability to handle 3 langauges (c, c++, python)
+# and it overrides $CC/$CXX if language is set to c/c++ (only one, not both).
+#
+# Set language to python since at least the result of that is something useful.
+language: python
+
+python:
+ - "2.7"
+ - "3.4"
+
+# Manage the C/C++ compiler manually
+env:
+ - CC=gcc CXX=g++
+ - CC=gcc-4.8 CXX=g++-4.8
+ - CC=gcc-4.9 CXX=g++-4.9
+ - CC=gcc-5 CXX=g++-5
+ - CC=clang CXX=clang++
+
+addons:
+ apt:
+ sources:
+ - ubuntu-toolchain-r-test
+ packages:
+ - gcc-4.8
+ - g++-4.8
+ - gcc-4.9
+ - g++-4.9
+ - gcc-5
+ - g++-5
-compiler:
- - gcc
- - clang
before_install:
- export PATH=$HOME/.local/bin:$HOME/protobuf/bin:$PATH
- export MAKEFLAGS=-j$(grep processor /proc/cpuinfo | wc -l)
- $CC --version
+ - $CXX --version
- python --version
- lsb_release -a
-cache:
- directories:
- - $HOME/protobuf
+# Seems to be issues with concurrent builds
+#cache:
+# directories:
+# - $HOME/protobuf
+
install:
- - pip install --user protobuf
+ - pip install protobuf
- test \! -d $HOME/protobuf
&& curl -L https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.bz2 | tar xjf -
&& pushd protobuf-2.6.1
@@ -23,6 +51,6 @@ install:
&& popd
|| true # True if test is false as the cache exists
-script:
+script:
- pushd generator/proto && make && popd
- - pushd tests && scons && popd
+ - pushd tests && python2 $(which scons) CC=$CC CXX=$CXX && popd