-
Notifications
You must be signed in to change notification settings - Fork 63
/
.travis.yml
144 lines (138 loc) · 3.78 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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
version: ~> 1.0
language: cpp
os: linux
dist: xenial
branches:
except:
- /^(wip\/)?(appveyor|msvc|mingw|windows)(\-.+)?$/
addons:
apt:
sources: &default_sources
packages: &default_pacakges
env:
global:
# fix clang complaining about unused command line args with ccache, see http://peter.eisentraut.org/blog/2014/12/01/ccache-and-clang-part-3/
- CCACHE_CPP2=yes
- LIBPFC_TARGET=libpfc.so
cache: ccache
jobs:
include:
# clang-5.0 is the default installed on travis VMs
- compiler: clang-default
env: TRUE_CC=clang TRUE_CXX=clang++ CXXFLAGS=-stdlib=libc++
addons:
apt:
sources:
- llvm-toolchain-xenial-5.0
packages:
- *default_pacakges
- libc++abi1
- libc++1
- compiler: gcc-default
env: TRUE_CC=gcc TRUE_CXX=g++
- compiler: gcc-default # runs all the tests except slow ones
env: TRUE_CC=gcc TRUE_CXX=g++ TEST_TAG=~slow
- compiler: nasm-test
env: TRUE_CC=gcc TRUE_CXX=g++
script:
- ./scripts/travis-build.sh
- ./scripts/test-nasm.sh
- compiler: gcc-6
env: TRUE_CC=gcc-6 TRUE_CXX=g++-6
addons:
apt:
sources:
- *default_sources
- ubuntu-toolchain-r-test
packages:
- *default_pacakges
- gcc-6
- g++-6
- compiler: gcc-7
env: TRUE_CC=gcc-7 TRUE_CXX=g++-7
addons:
apt:
sources:
- *default_sources
- ubuntu-toolchain-r-test
packages:
- *default_pacakges
- gcc-7
- g++-7
- compiler: gcc-8
env: TRUE_CC=gcc-8 TRUE_CXX=g++-8
addons:
apt:
sources:
- *default_sources
- ubuntu-toolchain-r-test
packages:
- *default_pacakges
- gcc-8
- g++-8
- compiler: gcc-9
env: TRUE_CC=gcc-9 TRUE_CXX=g++-9
addons:
apt:
sources:
- *default_sources
- ubuntu-toolchain-r-test
packages:
- *default_pacakges
- gcc-9
- g++-9
- compiler: clang-6.0
env: TRUE_CC=clang-6.0 TRUE_CXX=clang++-6.0
addons:
apt:
sources:
- *default_sources
- llvm-toolchain-xenial-6.0
packages:
- *default_pacakges
- clang-6.0
- clang++-6.0
- compiler: clang-7
env: TRUE_CC=clang-7 TRUE_CXX=clang++-7
addons:
apt:
sources:
- *default_sources
- llvm-toolchain-xenial-7
packages:
- *default_pacakges
- clang-7
- clang++-7
- compiler: clang-8
env: TRUE_CC=clang-8 TRUE_CXX=clang++-8
addons:
apt:
sources:
- *default_sources
- llvm-toolchain-xenial-8
packages:
- *default_pacakges
- clang-8
- clang++-8
- compiler: gcc-6-kmod
# this matrix entry builds the full kernel module
env: TRUE_CC=gcc-6 TRUE_CXX=g++-6 LIBPFC_TARGET="libpfc.so pfc.ko"
addons:
apt:
sources:
- *default_sources
- ubuntu-toolchain-r-test
packages:
- *default_pacakges
- gcc-6
- g++-6
script:
- sudo apt-get install -y linux-headers-$(uname -r)
- ./scripts/travis-run.sh
before_install:
# Travis will set CC and CXX after the env commands specified in the matrix are run, overwriting whatever
# we've specified there, so we need to reset them here. See also https://github.com/travis-ci/travis-ci/issues/6633 .
- CC="ccache ${TRUE_CC:-$CC}"
- CXX="ccache ${TRUE_CXX:-$CXX}"
script:
- ./scripts/travis-run.sh