-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path.travis.yml
107 lines (98 loc) · 3.18 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
# -*- mode: yaml; tab-width: 4; indent-tabs-mode: nil -*-
#
# Copyright (C) 2012 Kitanda <[email protected]>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
#
sudo: required
dist: xenial
language: cpp
cache: ccache
services:
- redis-server
- postgresql
git:
depth: 2
matrix:
#
# OSX is a bit flaky at present.
#
allow_failures:
- os: osx
include:
#
# Linux GCC
#
- os: linux
compiler: gcc
env: configuration=Debug compiler="gcc9" generator="Ninja" build_group="Continuous" code_coverage="1"
- os: linux
compiler: gcc
env: deploy="1" configuration=Release compiler="gcc9" generator="Ninja" build_group="Continuous"
#
# Linux Clang
#
- os: linux
compiler: clang
env: BUILD_TYPE=Debug COMPILER="clang"
env: coverage=1 configuration=Debug compiler="clang9" generator="Ninja" build_group="Continuous"
- os: linux
compiler: clang
env: configuration=Release compiler="clang9" generator="Ninja" build_group="Continuous"
#
# OSX Clang
#
- os: osx
compiler: clang
osx_image: xcode10
env: configuration=Debug compiler="clang" generator="Unix Makefiles" build_group="Experimental"
- os: osx
compiler: clang
osx_image: xcode10
env: configuration=Release compiler="clang" generator="Unix Makefiles" build_group="Experimental"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
install:
- export STAGE_DIR=${TRAVIS_BUILD_DIR}/build/output/${compiler}/${configuration}/stage
- export SCRIPTS_DIR=${TRAVIS_BUILD_DIR}/build/scripts
- source ${SCRIPTS_DIR}/travis.install.${TRAVIS_OS_NAME}.sh
before_script:
- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then
export POSTGRES_SERVER_SETUP=1;
psql -f ${SCRIPTS_DIR}/setup_postgres.sql -U postgres;
fi
script:
- JOBS=2
- export BUILD_PROVIDER=travis
- export BUILD_COMMIT=${TRAVIS_COMMIT}
- export CMAKE_TOOLCHAIN_FILE="/tmp/vcpkg-export/scripts/buildsystems/vcpkg.cmake";
- if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
export PATH="/usr/local/opt/ccache/libexec:$PATH";
fi
- ctest --progress --script ".ctest.cmake,configuration_type=${configuration},generator=${generator},compiler=${compiler},number_of_jobs=${JOBS},build_group=${build_group},code_coverage=${code_coverage}";
notifications:
email:
recipients:
on_success: change
on_failure: always
webhooks:
urls:
- https://webhooks.gitter.im/e/2fa0f80689a9ca56e699
on_success: always
on_failure: always