-
Notifications
You must be signed in to change notification settings - Fork 5
/
.travis.yml
126 lines (124 loc) · 3.24 KB
/
.travis.yml
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
language: cpp
dist: xenial
env:
matrix:
fast_finish: true
include:
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
env: COMPILER=gcc GCC=4.9 CHECK_CYCLIC_INCLUDES=1
- 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 DISABLE_EXCEPTION=1
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
env: COMPILER=gcc GCC=7
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env: COMPILER=gcc GCC=8 ENABLE_CPP17=1
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-9
env: COMPILER=gcc GCC=9
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-9
env: COMPILER=gcc GCC=9 ENABLE_CPP20=1
- os: osx
osx_image: xcode8
compiler: clang
allow_failures:
- env: COMPILER=gcc GCC=9 ENABLE_CPP20=1
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
export CXX=g++-$GCC CC=gcc-$GCC;
elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
export CXX=clang++ CC=clang;
fi
install:
# Define the version of miniconda to download
- 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 env create --file environment-dev.yml
- source activate xtensor-sparse
- |
if [[ "$CHECK_CYCLIC_INCLUDES" == 1 ]]; then
set -e
conda install networkx -c conda-forge
cd tools
chmod +x check_circular.py
./check_circular.py
cd ..
set +e
fi
# Testing
- mkdir build
- cd build
- |
if [[ "$BOUND_CHECKS" == 1 ]]; then
cmake -DXTENSOR_ENABLE_ASSERT=ON -DDOWNLOAD_GTEST=ON ..;
elif [[ "$ENABLE_CPP17" == 1 ]]; then
cmake -DDOWNLOAD_GTEST=ON -DCPP17=ON ..;
elif [[ "$ENABLE_CPP20" == 1 ]]; then
cmake -DDOWNLOAD_GTEST=ON -DCPP20=ON ..;
elif [[ "$DISABLE_EXCEPTION" == 1 ]]; then
cmake -DDOWNLOAD_GTEST=ON -DXTENSOR_DISABLE_EXCEPTIONS=ON ..;
else
cmake -DDOWNLOAD_GTEST=ON ..;
fi
- make -j2 test_xtensor_sparse_lib
- cd test
script:
- ./test_xtensor_sparse_lib