summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 6b8db516867dd18a3fd50dbe95dacc61bcfc91a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# 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


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

# Seems to be issues with concurrent builds
#cache:
#    directories:
#        - $HOME/protobuf

install:
    - 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
      && ./configure --prefix=$HOME/protobuf && make && make install
      && popd
      || true # True if test is false as the cache exists

script:
    - pushd generator/proto && make && popd
    - pushd tests && python2 $(which scons) CC=$CC CXX=$CXX && popd