forked from ccache/ccache
-
Notifications
You must be signed in to change notification settings - Fork 2
/
.travis.yml
113 lines (101 loc) · 3.12 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
language: cpp
dist: xenial
script:
- ./autogen.sh
- test -z $BUILD_DIR || { mkdir -p $BUILD_DIR; cd $BUILD_DIR; }
- ${SRC_DIR:-.}/configure $CONFIGURE
- make
- make ${TEST:-test}
matrix:
include:
# Job 1: Linux native GCC
- os: linux
compiler: gcc
env: V=1 ENABLE_CACHE_CLEANUP_TESTS=1 BUILD_DIR=build SRC_DIR=..
addons:
apt:
packages:
- elfutils
- libzstd1-dev
- libb2-dev
# Job 2: Linux native Clang
- os: linux
compiler: clang
env: V=1 ENABLE_CACHE_CLEANUP_TESTS=1
addons:
apt:
packages:
- elfutils
- libzstd1-dev
- libb2-dev
# Job 3: Mac OS X native Clang
- os: osx
compiler: clang
env: V=1 CONFIGURE="--with-libzstd-from-internet --with-libb2-from-internet" ENABLE_CACHE_CLEANUP_TESTS=1
# Job 4: Linux 32-bit native
- os: linux
compiler: gcc
env: V=1 CFLAGS="-m32 -g -O2" CXXFLAGS="-m32 -g -O2" LDFLAGS="-m32" CONFIGURE="--host=i386-linux-gnu --with-libzstd-from-internet --with-libb2-from-internet" ENABLE_CACHE_CLEANUP_TESTS=1
addons:
apt:
packages:
- gcc-multilib
- lib32stdc++-5-dev
# Job 5: Linux cross-compiled 32-bit MinGW
- os: linux
compiler: i686-w64-mingw32-g++-posix
env: V=1 CC=i686-w64-mingw32-gcc-posix CXX=i686-w64-mingw32-g++-posix CONFIGURE="--host=i686-w64-mingw32 --with-libzstd-from-internet --with-libb2-from-internet" TEST="unittest/run.exe" ENABLE_CACHE_CLEANUP_TESTS=1
addons:
apt:
packages:
- elfutils
# Job 6: Linux cross-compiled 64-bit MinGW
- os: linux
compiler: x86_64-w64-mingw32-g++
env: V=1 CC=i686-w64-mingw32-gcc-posix CXX=i686-w64-mingw32-g++-posix CONFIGURE="--host=x86_64-w64-mingw32 --with-libzstd-from-internet --with-libb2-from-internet" TEST="unittest/run.exe" ENABLE_CACHE_CLEANUP_TESTS=1
addons:
apt:
packages:
- elfutils
# Job 7: Clang's undefined behavior sanitizer (UBSan)
- os: linux
compiler: clang
env: V=1 CFLAGS="-fsanitize=undefined" CXXFLAGS="-fsanitize=undefined" LDFLAGS="-fsanitize=undefined" ASAN_OPTIONS="detect_leaks=0" ENABLE_CACHE_CLEANUP_TESTS=1
addons:
apt:
packages:
- elfutils
- libzstd1-dev
- libb2-dev
# Job 8: Clang's address sanitizer
- os: linux
compiler: clang
env: V=1 CFLAGS="-fsanitize=address -g" CXXFLAGS="-fsanitize=address -g" LDFLAGS="-fsanitize=address" ASAN_OPTIONS="detect_leaks=0" ENABLE_CACHE_CLEANUP_TESTS=1
addons:
apt:
packages:
- elfutils
- libzstd1-dev
- libb2-dev
# Job 9: Clang static analyzer
- os: linux
compiler: clang
env: V=1 PATH="/usr/bin:$PATH" SCAN_BUILD=scan-build-7 TEST=analyze ENABLE_CACHE_CLEANUP_TESTS=1
addons:
apt:
packages:
- libzstd1-dev
- libb2-dev
# Job 10: Linux GCC with CUDA compiler
- os: linux
compiler: gcc
env: V=1 CUDA=10.1.243-1 ENABLE_CACHE_CLEANUP_TESTS=1
sudo: required
addons:
apt:
packages:
- elfutils
- libzstd1-dev
- libb2-dev
before_install:
- source ./.travis/install_cuda.sh