.travis.yml 2.89 KB
Newer Older
1
2
language: cpp
sudo: false
3
4
5
6
matrix:
  include:
  - os: linux
    compiler: gcc-4.8
7
8
9
10
11
12
13
14
15
    env: PYTHON=2.7 CPP=11 GCC=4.8
    addons:
      apt:
        sources:
        - ubuntu-toolchain-r-test
        - kubuntu-backports # cmake 2.8.12
        packages:
        - g++-4.8
        - cmake
16
17
  - os: linux
    compiler: gcc-4.8
18
19
20
21
22
23
24
25
26
27
28
    env: PYTHON=3.5 CPP=11 GCC=4.8
    addons:
      apt:
        sources:
        - ubuntu-toolchain-r-test
        - deadsnakes
        - kubuntu-backports # cmake 2.8.12
        packages:
        - g++-4.8
        - python3.5-dev
        - cmake
29
30
31
32
33
34
  - os: osx
    osx_image: xcode7.3
    env: PYTHON=2.7 CPP=14
  - os: osx
    osx_image: xcode7.3
    env: PYTHON=3.5 CPP=14
35
36
37
38
39
40
41
42
43
44
45
46
  - compiler: gcc-6
    services: docker
    sudo: true
    env: PYTHON=2.7 CPP=14 DOCKER=debian:testing NATIVE_DEPS=1
    install:
    - docker exec --tty "$containerid" apt-get -y --no-install-recommends install python2.7-dev python-scipy libeigen3-dev cmake make g++
  - compiler: gcc-6
    services: docker
    sudo: true
    env: PYTHON=3.5 CPP=14 DOCKER=debian:testing NATIVE_DEPS=1
    install:
    - docker exec --tty "$containerid" apt-get -y --no-install-recommends install python3.5-dev python3-scipy libeigen3-dev cmake make g++
Wenzel Jakob's avatar
Wenzel Jakob committed
47
48
49
cache:
  directories:
  - $HOME/.cache/pip
Omer Katz's avatar
Omer Katz committed
50
  - ccache
51
52
53
54
55
56
57
58
59
60
61
62
63
before_install:
- |
  if [ -n "$DOCKER" ]; then
    docker pull $DOCKER
    export containerid=$(docker run --detach --tty \
      --volume="$PWD":/pybind11 --workdir=/pybind11 \
      --env="CC=$CC" --env="CXX=$CXX" --env="DEBIAN_FRONTEND=$DEBIAN_FRONTEND" \
      --env=GCC_COLORS=\  \
      $DOCKER)
    docker exec --tty "$containerid" apt-get update
    docker exec --tty "$containerid" apt-get -y upgrade
    export SCRIPT_RUN_PREFIX="docker exec --tty $containerid"
  fi
64
65
install:
- |
66
67
68
69
70
71
72
73
74
75
76
77
78
79
  if [ -z "$NATIVE_DEPS" ]; then
    if [ "$TRAVIS_OS_NAME" = "linux" ]; then
      if [ -n "$GCC" ]; then export CXX=g++-$GCC CC=gcc-$GCC; fi
      pip install --user --upgrade pip virtualenv
      virtualenv -p python$PYTHON venv
    elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
      if [ "${PYTHON:0:1}" = "3" ]; then
        PMAJOR=3; brew update; brew install python$PMAJOR;
      else
        curl -fsSL -O https://bootstrap.pypa.io/get-pip.py
        sudo -H python get-pip.py
      fi
      pip$PMAJOR install --user --upgrade pip virtualenv
      python$PMAJOR -m virtualenv venv
80
    fi
81
82
83
84
85
86
    source venv/bin/activate
    pip install numpy scipy

    wget -q -O eigen.tar.gz https://bitbucket.org/eigen/eigen/get/3.2.9.tar.gz
    tar xzf eigen.tar.gz
    export CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCMAKE_INCLUDE_PATH=eigen-eigen-dc6cfdf9bcec"
87
88
  fi
script:
89
90
91
92
- $SCRIPT_RUN_PREFIX cmake ${CMAKE_EXTRA_ARGS}
    -DPYBIND11_PYTHON_VERSION=$PYTHON
    -DPYBIND11_CPP_STANDARD=-std=c++$CPP
    -DPYBIND11_WERROR=ON
93
94
95
- $SCRIPT_RUN_PREFIX make CTEST_OUTPUT_ON_FAILURE=TRUE check -j 2
after_script:
- if [ -n "$DOCKER" ]; then docker stop "$containerid"; docker rm "$containerid"; fi