/
.travis.yml
107 lines (92 loc) · 3.99 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
language: cpp
dist: trusty
env:
global:
#- MAKEFLAGS="-j 2"
- secure: GleA4sdouIha5p6DQJ0YNPXWORcDWLAyDqFhYFV1OXSfzR1KublRtuH4MCPsYkgxujas2uqRU4bM0RGuws5JMAFTsVKpQv8hZZAhzZu6tdHY3d5adC19hu5AKKkd96wOCZbU8D/FxUpVkqALQ1wAQpxa2KFlqsPT9Wk9Uqt+xEZ4Wp1aBa8eo8E9Llra1KPAQq8S3ljTs4VH2j9ID1xW/VQfXILcFtw2pvpmtdxrGYPOaJwxxvq66Tfc/yFX3BEhtzdykJBrI7COzrE59VZVGOi/Pteb5a6V/TOw7bFUkov6siB16/IIOSpVN9fGcnNPzD5Ll7dlz2yIlIK/HgRRb6GpsppGnZzVUyNBieDI4oV0qUL3zBWo3a0Y5k9mcR8KwOuaHsuaW0816mFuFiPf8Jkrnf+ruYsJKWZ+F4XqXyuDbiwBLNcmCVNk0T9IE0DrZdrG59SKvthmdGhQE2w1MPsRe7dQcaT7/1/YRL2C0kJN3NMcSFjXN53nDWx5q/TMA6YlQtTxRVO1Pl4ldKHbFO8ZJl0YHzkY0DAfYUmnLxEUwLe2LrMFemh9U2bWBg3zUif1We1pmhjHldrEi1drEkfTjBNHESN9CR7GG5mT8L1px+RrIumxr1XjaK/59twiFYqsFqk4widskpSkYKRZGpR9N8gl56ieyV61Ual2mPg=
cache:
directories:
- $HOME/.ccache
- $HOME/deps
addons:
apt:
update: true
sources: &default_sources
- ubuntu-toolchain-r-test
packages: &default_packages
- libhdf5-dev
matrix:
include:
- os: linux
compiler: gcc
env: CXX_COMPILER_NAME='g++-6' CXX_COMPILER_ID=GNU STRIDE_GENERATE_COVERAGE=True BUILD_NAME="linux-gcc-6" COMMIT_DOCS=YES
addons: { apt: { packages: [*default_packages, g++-6, lcov, doxygen, graphviz], sources: [*default_sources]} }
- os: linux
compiler: gcc
env: CXX_COMPILER_NAME='g++-7' CXX_COMPILER_ID=GNU BUILD_NAME="linux-gcc-7"
addons: { apt: { packages: [*default_packages, g++-7], sources: [*default_sources]} }
- os: linux
compiler: clang
env: CXX_COMPILER_NAME='clang++-5.0' CXX_COMPILER_ID=CLANG BUILD_NAME="linux-clang-5"
addons: { apt: { packages: [*default_packages, clang-5.0, g++-6, gcc-6], sources: [*default_sources, llvm-toolchain-trusty-5.0] } }
- os: osx
osx_image: xcode8.3
compiler: clang
env: CXX_NAME='clang++'
- os: osx
osx_image: xcode9.2
compiler: clang
env: CXX_NAME='clang++'
- os: osx
osx_image: xcode9.3
compiler: clang
env: CXX_NAME='clang++'
before_install:
# Check commit matches expected commit (because of Travis bug)
- if [[ "$TRAVIS_COMMIT" != "$(git rev-parse HEAD)" ]]; then echo "Commit $(git rev-parse HEAD) doesn't match expected commit $TRAVIS_COMMIT"; fi
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CXX_NAME" == "clang++" ]]; then
brew install llvm
brew link --force --overwrite llvm
export CC=/usr/local/opt/llvm/bin/clang
export CXX=/usr/local/opt/llvm/bin/clang++
else
# This is required to override Travis's definitions of CC and CXX that lead to old Ubuntu-packaged compilers
export CXX="$CXX_COMPILER_NAME"
fi
install:
#--------- Linux
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
wget -O swig.deb https://c.ledfan.be/s/eXQ5LW4yTxTYwja/download;
sudo dpkg -i swig.deb;
sudo apt-get -y remove qtchooser;
wget -O qt.deb https://c.ledfan.be/s/ZJDRPiFrrtWHC3F/download;
sudo dpkg -i qt.deb;
fi
#--------- OSX
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew upgrade python cmake
brew install ccache swig qt && brew link --force qt
sudo ln -s /usr/local/Cellar/qt/5.10.1/plugins /usr/local/plugins
sudo ln -s /usr/local/Cellar/qt/5.10.1/mkspecs/ /usr/local/mkspecs
export CMAKE_PREFIX_PATH=/usr/local/opt/qt5:$CMAKE_PREFIX_PATH
export LD_LIBRARY_PATH=/usr/local/opt/qt5/lib/
fi
#--------- All platforms
- |
sudo pip install cmake
export PATH=/usr/local/bin:$PATH # use version installed using pip
script:
# Output every 9m so the build doesn't get killed
- while sleep 9m; do echo "===== The build is still running ====="; done &
# Build stride and run tests
# CMAKE_BUILD_TYPE: enable assertions
# STRIDE_GENERATE_COVERAGE: enable coverage -- set in `matrix`
- |
if [ "$TRAVIS_BRANCH" = "master" -a "$COMMIT_DOCS" = "YES" ]; then
export STRIDE_INCLUDE_DOC=YES
fi
CMAKE_BUILD_TYPE=Debug make all
- CMAKE_BUILD_TYPE=Debug make test