diff options
author | Kyle Manna <kyle@kylemanna.com> | 2015-09-20 22:58:54 -0700 |
---|---|---|
committer | Kyle Manna <kyle@kylemanna.com> | 2015-09-21 08:38:35 -0700 |
commit | 47bd244f2e7772c2259f2c37ddf9480959c2272a (patch) | |
tree | 3b460d03cb26c54c7de31f0c94e809b7f4080691 /.travis.yml | |
parent | 59d6add7d268b6252ee207db3378a72f5fb1bca5 (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.yml | 48 |
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 |