-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
129 lines (109 loc) · 4 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
os: linux
dist: bionic
language: cpp
branches:
only:
- master
- develop
addon_shortcuts:
clang-9: &clang-9
apt:
sources:
- sourceline: 'ppa:ubuntu-toolchain-r/test'
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main'
key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
packages:
- clang-9
- libstdc++-9-dev
clang-10: &clang-10
apt:
sources:
- sourceline: 'ppa:ubuntu-toolchain-r/test'
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main'
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
packages:
- clang-10
- libstdc++-10-dev
clang-11: &clang-11
apt:
sources:
- sourceline: 'ppa:ubuntu-toolchain-r/test'
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main'
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
packages:
- clang-11
- libstdc++-11-dev
clang-12: &clang-12
apt:
sources:
- sourceline: 'ppa:ubuntu-toolchain-r/test'
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-12 main'
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
packages:
- clang-12
- libstdc++-11-dev
gcc-10: &gcc-10
apt:
sources:
- sourceline: 'ppa:ubuntu-toolchain-r/test'
packages:
- g++-10
gcc-11: &gcc-11
apt:
sources:
- sourceline: 'ppa:ubuntu-toolchain-r/test'
packages:
- g++-11
jobs:
include:
## Clang Release
- { env: 'CXX=clang++-9 BUILD_TYPE=Release SANITIZER=false', compiler: clang-9, addons: *clang-9 }
- { env: 'CXX=clang++-10 BUILD_TYPE=Release SANITIZER=false', compiler: clang-10, addons: *clang-10 }
- { env: 'CXX=clang++-11 BUILD_TYPE=Release SANITIZER=false', compiler: clang-11, addons: *clang-11 }
- { env: 'CXX=clang++-12 BUILD_TYPE=Release SANITIZER=true', compiler: clang-12, addons: *clang-12 }
## Clang Debug
- { env: 'CXX=clang++-9 BUILD_TYPE=Debug SANITIZER=false', compiler: clang-9, addons: *clang-9 }
- { env: 'CXX=clang++-10 BUILD_TYPE=Debug SANITIZER=false', compiler: clang-10, addons: *clang-10 }
- { env: 'CXX=clang++-11 BUILD_TYPE=Debug SANITIZER=false', compiler: clang-11, addons: *clang-11 }
- { env: 'CXX=clang++-12 BUILD_TYPE=Debug SANITIZER=true', compiler: clang-12, addons: *clang-12 }
## GCC Release
- { env: 'CXX=g++-10 BUILD_TYPE=Release SANITIZER=false', compiler: gcc-10, addons: *gcc-10 }
- { env: 'CXX=g++-11 BUILD_TYPE=Release SANITIZER=false', compiler: gcc-11, addons: *gcc-11 }
## GCC Debug
- { env: 'CXX=g++-10 BUILD_TYPE=Debug SANITIZER=false', compiler: gcc-10, addons: *gcc-10 }
- { env: 'CXX=g++-11 BUILD_TYPE=Debug SANITIZER=false', compiler: gcc-11, addons: *gcc-11 }
before_install:
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
- sudo apt-get -qq update
- sudo apt install libicu-dev libicu60 libxml2-dev zlib1g-dev
- DEPS_DIR="${TRAVIS_BUILD_DIR}/DEPS"
- mkdir -p ${DEPS_DIR}
- cd ${DEPS_DIR}
install:
- |
CMAKE_URL="https://cmake.org/files/v3.20/cmake-3.20.2-linux-x86_64.tar.gz"
mkdir cmake && travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake
export PATH=${DEPS_DIR}/cmake/bin:${PATH}
- |
../install_boost.sh ${DEPS_DIR}
- |
../install_llvm.sh ${DEPS_DIR}
- |
../install_gtest.sh ${DEPS_DIR}
before_script:
- export PATH=${DEPS_DIR}/boost:${PATH}
- export PATH=${DEPS_DIR}/llvm:${PATH}
- export PATH=${DEPS_DIR}/gtest:${PATH}
- cd ${TRAVIS_BUILD_DIR}
script:
- pwd
- uname -a
- cmake --version
- ${CXX} --version
- cmake -DPDL_WITH_TESTS=1 -DPDL_WITH_SANITIZER=${SANITIZER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_CXX_COMPILER=${CXX} .
- cmake --build . -j "$(nproc)"
- ctest --verbose
notifications:
email:
on_failure: always
on_success: never