forked from luncliff/coroutine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
138 lines (119 loc) · 3.15 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
git:
submodules: true
quiet: true
depth: 5
branches:
except:
- docs
notifications:
email:
addons:
homebrew:
packages:
- cmake
- tree
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- doxygen
- tree
- tar
language: cpp
install:
# for this env, we don't have to use setup-compilers script
# since they are installed. just replace installed bins to what we want
- if [ ${TRAVIS_OS_NAME} == "linux" ]; then
sudo rm -rf /usr/local/clang* /usr/local/cmake*;
sudo bash ./scripts/setup-compilers-ubuntu.sh > /dev/null;
sudo bash ./scripts/install-cmake-3.sh > /dev/null;
CC=gcc-9 CXX=g++-9 sudo bash ./scripts/install-libcxx.sh release_90;
fi
- if [ ${TRAVIS_OS_NAME} == "osx" ]; then
brew info llvm;
fi
- if [ ${TRAVIS_OS_NAME} == "windows" ]; then
choco install llvm --yes --allow-downgrade --version=8.0.1;
fi
before_script:
- export CXX=${TRAVIS_COMPILER}
script:
- mkdir -p build && cd ./build
- cmake ..
-DCMAKE_INSTALL_PREFIX="${TRAVIS_BUILD_DIR}/install"
-DBUILD_SHARED_LIBS=True
-DCMAKE_BUILD_TYPE=Debug
- cmake --build . --config debug --target install
- cmake ..
-DBUILD_TESTING=true
- cmake --build . -- --keep-going
- ctest --output-on-failure --tests-regex return_
- ctest --output-on-failure --tests-regex enumerable_
- ctest --output-on-failure --tests-regex pthread_
- if [ ${TRAVIS_OS_NAME} == "linux" ]; then
ctest --output-on-failure --tests-regex linux_;
fi
- if [ ${TRAVIS_OS_NAME} == "osx" ]; then
ctest --output-on-failure --tests-regex unix_;
fi
- ctest --output-on-failure --tests-regex channel_
- ctest --output-on-failure --tests-regex net_
after_success:
- cd ${TRAVIS_BUILD_DIR}
- tree ./install
jobs:
allow_failures:
- osx_image: xcode10.1
- compiler: clang-10
include:
- stage: build
os: osx # 10.13
osx_image: xcode10.1 # requires higher clang version
compiler: clang
- os: osx # 10.14.6
osx_image: xcode11.3
compiler: clang
- os: osx # 10.15.5
osx_image: xcode12
compiler: clang
- os: osx
osx_image: xcode12
compiler: gcc-10
# cache:
# directories:
# # we don't have to cache if already installed
# - /usr/local/Cellar/gcc/
install:
- brew info gcc # 10.1.0 is already installed
# - travis_wait 90 brew upgrade gcc@10
- os: linux
dist: xenial # 16.04
compiler: clang-8
- os: linux
dist: bionic # 18.04
compiler: clang-8
- os: linux
dist: bionic
compiler: clang-9
- os: linux
dist: bionic
compiler: clang-10
- stage: deploy
language: python
python:
- "3.7"
install:
- pip install -r requirements.txt
script:
- doxygen ./docs/Doxyfile
- doxybook -i docs/xml -o docs -t mkdocs
- mkdocs build
deploy:
- provider: pages
github_token: ${MAINTAINER_GITHUB_TOKEN}
local_dir: site
skip_cleanup: true
keep_history: true
on:
branch: master