forked from rakhimov/scram
-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
115 lines (102 loc) · 2.85 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
sudo: false
dist: trusty
branches:
except:
- l10n_develop
- appveyor
language: cpp
cache:
ccache: true
os: linux
compiler:
- gcc
# - clang # Wait till Clang 6 or patched 5 to work w/ libstdc++.
env:
global:
- PATH=$HOME/.local/bin:$PATH:$PWD/install/bin
- QT_QPA_FONTDIR=/usr/share/fonts
- QT_QPA_PLATFORM=offscreen
- GCC_VERSION=7
- PYTHON_VERSION=3
matrix:
- CONFIG=Debug
- CONFIG=Release
addons:
apt:
packages:
- gcc-7
- g++-7
- ccache
- libboost-program-options1.61-dev
- libboost-math1.61-dev
- libboost-random1.61-dev
- libboost-filesystem1.61-dev
- libxml2-dev
- libgoogle-perftools-dev
- qt59base
- qt59tools
- qt59svg
- fontconfig
- lcov
sources: &Sources
- ubuntu-toolchain-r-test
- sourceline: "ppa:rakhimov/boost"
- sourceline: "ppa:zerebubuth/ccache"
- sourceline: "ppa:beineri/opt-qt593-trusty"
jobs:
include:
- stage: lint
compiler: clang
before_script: mkdir build
script: .travis/lint.sh
env: CONFIG=Lint CLANG_VERSION=6.0
addons:
apt:
packages:
- clang-format-6.0
- doxygen
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-6.0
- sourceline: "ppa:rakhimov/doxygen"
# - stage: test
# os: osx # OS X builds are slow and limited.
# osx_image: xcode9.2 # C++17 not yet fully supported!!!
# compiler: clang
# env: CONFIG=Release
- stage: test
compiler: gcc
env: CONFIG=Coverage
- stage: test
compiler: gcc
env: CONFIG=Memcheck
before_script: mkdir build install
addons:
apt:
packages:
- gcc-7
- g++-7
- libboost-program-options1.61-dev
- libboost-math1.61-dev
- libboost-random1.61-dev
- libboost-filesystem1.61-dev
- libxml2-dev
- valgrind
sources: *Sources
exclude:
- compiler: gcc
env: CONFIG=Debug
stages:
- lint
- test
before_install:
- mkdir -p ~/.local/bin
- virtualenv -p $(which python$PYTHON_VERSION) pyenv
- source pyenv/bin/activate
install:
- .travis/install.sh # Dependencies are built with gcc or clang.
before_script:
- mkdir build install
- source /opt/qt59/bin/qt59-env.sh
script:
- .travis/script.sh