.travis.yml 3.37 KB
Newer Older
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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
language: cpp
dist: trusty
matrix:
  include:
    - os: linux
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - g++-4.9
      env: COMPILER=gcc GCC=4.9
    - os: linux
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - g++-5
      env: COMPILER=gcc GCC=5
    - os: linux
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - g++-6
      env: COMPILER=gcc GCC=6
    - os: linux
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - g++-4.9
            - clang-3.6
      env: COMPILER=clang CLANG=3.6
    - os: linux
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-trusty-3.9
          packages:
            - g++-4.9
            - clang-3.9
      env: COMPILER=clang CLANG=3.9
    - os: linux
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-trusty-4.0
          packages:
            - g++-4.9
            - clang-4.0
      env: COMPILER=clang CLANG=4.0
    - os: linux
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-trusty-5.0
          packages:
            - g++-4.9
            - clang-5.0
      env: COMPILER=clang CLANG=5.0
    - os: linux
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-trusty-6.0
          packages:
            - clang-6.0
      env: COMPILER=clang CLANG=6.0
    - os: osx
      osx_image: xcode8
      compiler: clang
env:
  global:
    - MINCONDA_VERSION="latest"
    - MINCONDA_LINUX="Linux-x86_64"
    - MINCONDA_OSX="MacOSX-x86_64"
before_install:
    - |
      # Configure build variables
      if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
        if [[ "$COMPILER" == "gcc" ]]; then
          export CXX=g++-$GCC CC=gcc-$GCC;
        fi
        if [[ "$COMPILER" == "clang" ]]; then
          export CXX=clang++-$CLANG CC=clang-$CLANG;
        fi
      elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
        export CXX=clang++ CC=clang;
      fi
install:
    # Install conda
    - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
        MINCONDA_OS=$MINCONDA_LINUX;
      elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
        MINCONDA_OS=$MINCONDA_OSX;
      fi
    - wget "http://repo.continuum.io/miniconda/Miniconda3-$MINCONDA_VERSION-$MINCONDA_OS.sh" -O miniconda.sh;
    - bash miniconda.sh -b -p $HOME/miniconda
    - export PATH="$HOME/miniconda/bin:$PATH"
    - hash -r
    - conda config --set always_yes yes --set changeps1 no
    - conda update -q conda
    - conda info -a
    # Build dependencies
    - conda install cmake pkg-config -c conda-forge
    # Host dependencies
    - conda install zeromq=4.2.5 cppzmq=4.3.0 xtl=0.5 cryptopp=7.0.0 -c conda-forge
    - conda install nlohmann_json=3.4.0 -c conda-forge/label/gcc7
    # Test dependencies
    - conda install pytest jupyter jupyter_kernel_test=0.3.0 -c conda-forge
    # Build
    - mkdir build
    - cd build
    - cmake -D BUILD_EXAMPLES=ON -DDOWNLOAD_GTEST=ON -DCMAKE_INSTALL_PREFIX=$HOME/miniconda -DCMAKE_INSTALL_LIBDIR=lib ..
    - make
    - make install
script:
    - cd test
    - ./test_xeus
    - py.test test_echo_kernel.py