This repository has been archived by the owner on Feb 7, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
128 lines (112 loc) · 4.5 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
# Based on:
# https://github.com/varuna-lang/varuna/blob/master/.travis.yml
# https://github.com/boostorg/hana/blob/master/.travis.yml
# https://github.com/onqtam/doctest/blob/master/.travis.yml
# https://github.com/ChaiScript/ChaiScript/blob/master/.travis.yml
language: cpp
dist: trusty
git:
depth: 5
addons:
apt:
sources: &apt_sources
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty
- llvm-toolchain-trusty-3.9
- llvm-toolchain-trusty-4.0
- llvm-toolchain-precise
- llvm-toolchain-precise-3.6
env:
global:
- secure: "DXSnWV/UurJROOXN7MfFFACIg06ViQ9OVIg6OcRznci7jzzrRiCM+V5NqG93pBdCITG/KnytC8/gKmto7/RpZ/8AWuk31kQ+kM8MtIQ5NBggF5HircxzXSnWygv+emVWbYwY3t7Duq9Dl+opaCPix9sMooXp/OINPf4Louzk7P+/BLb0wDwdDEUxajZvogqA0YUleBmd006bGD/l2HxSb0Sytxs/KOOMChwxFVv0m4fYM+QXgTnijtkJZz6e6Om1tF8fZG2savH+J3RTDyZKXR5o3eshnZfR/lAs00MU0XwsQL4EPflPNMxigg2zqOPZWDiNiLFvWlg/Gr8CdI2Oq9vCfSzowB3hJc6rjypZPMG7TXB+ua2ydAa0fB3K3gTHsOjWoZ3wYGApiJpdttObk7/achFDtW3TJdanYCVfaBVjmZfEwXIIaqWM60ZdLw0bbE9068qg6xdnG+7Unv5L20Tu5G07v/L6LeJUh25cyiRlcmd6kVoZU+Hsufk7hZdR/ih24Os8IvaKIXIhNRzXsOWe6taLcIroBivor+j2S6YPylQ4SqynFiE4C6yBmmCluXqmT/pq5Jx8662Y8dNj3/fx3HIWszRlTU9ZGUnF06/BifNH4tY/0/zuxEcAoiiDnu6akHDy1pVqoSm4aPyxWQqbWWuLxcca21+LwRAXAYU="
matrix:
- TRAVIS_EMPTY_JOB_WORKAROUND=true
os: linux
matrix:
exclude:
- env: TRAVIS_EMPTY_JOB_WORKAROUND=true
include:
# coverage
- env: COVERALLS=ON CXX_COMPILER=g++-5 CXX_STANDARD=14
compiler: gcc
addons: &cov
apt:
packages: ["libffi-dev", "libffi6", "g++-5", "lcov", "ggcov", "curl"]
sources: *apt_sources
# GCC (default)
- env: CXX_COMPILER=g++ CXX_STANDARD=0x
compiler: gcc
addons: &gcc
apt:
packages: ["libffi-dev", "libffi6"]
sources: *apt_sources
# GCC 6
- env: CXX_COMPILER=g++-6 CXX_STANDARD=17
compiler: gcc
addons: &gcc6
apt:
packages: ["libffi-dev", "libffi6", "g++-6"]
sources: *apt_sources
# GCC 5
- env: CXX_COMPILER=g++-5 CXX_STANDARD=14
compiler: gcc
addons: &gcc5
apt:
packages: ["libffi-dev", "libffi6", "g++-5"]
sources: *apt_sources
# GCC 4.9
- env: CXX_COMPILER=g++-4.9 CXX_STANDARD=11
compiler: gcc
addons: &gcc49
apt:
packages: ["libffi-dev", "libffi6", "g++-4.9"]
sources: *apt_sources
# Clang 4
- env: CXX_COMPILER=clang++-4.0 CXX_STANDARD=1z
compiler: clang
addons: &clang4
apt:
packages: ["libffi-dev", "libffi6", "clang-4.0"]
sources: *apt_sources
# Clang 3.9
- env: CXX_COMPILER=clang++-3.9 CXX_STANDARD=14
compiler: clang
addons: &clang39
apt:
packages: ["libffi-dev", "libffi6", "clang-3.9"]
sources: *apt_sources
# Clang 3.6
- env: CXX_COMPILER=clang++-3.6 CXX_STANDARD=11
compiler: clang
dist: precise
addons: &clang36
apt:
packages: ["libffi-dev", "libffi6", "clang-3.6"]
sources: *apt_sources
install:
- DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
- mkdir -p ${DEPS_DIR} && cd ${DEPS_DIR}
# Install a recent CMake
- CMAKE_URL="https://cmake.org/files/v3.6/cmake-3.6.1-Linux-x86_64.tar.gz"
- mkdir -p 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}
- cd ${TRAVIS_BUILD_DIR}
before_script:
- export CXX=${CXX_COMPILER}
- ${CXX} --version
- git submodule update --init --recursive
script:
- mkdir build && cd build
# Coverage
- |
if [[ "${COVERALLS}" == "ON" ]]; then
export COVERALLS_SERVICE_NAME=travis-ci
export COVERALLS_REPO_TOKEN=${repo_token}
export GCOV=gcov-5
cmake -DCMAKE_CXX_COMPILER=${CXX} -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_CXX_STANDARD=${CXX_STANDARD} -DCOVERALLS=ON -DCMAKE_BUILD_TYPE=Debug ..
make -k -j2 && make coveralls
exit
fi
- cmake -G "Unix Makefiles" -DCMAKE_CXX_COMPILER=${CXX} -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_CXX_STANDARD=${CXX_STANDARD} -DCMAKE_BUILD_TYPE=Debug ..
- make -j2
- ./tests/tests