forked from Bareflank/extended_apis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
140 lines (127 loc) · 3 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
139
140
#
# Configuration
#
language: cpp
dist: trusty
sudo: required
#
# Compilers
#
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-3.8
- llvm-toolchain-trusty-3.9
packages:
- clang-3.8
- clang-3.9
- clang-tidy-3.8
- clang-tidy-3.9
- gcc-5
- g++-5
- nasm
#
# Update Build Environment
#
before_install:
- mkdir $HOME/usr
- export PATH="$HOME/usr/bin:$PATH"
- wget https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.sh
- chmod +x cmake-3.7.2-Linux-x86_64.sh
- ./cmake-3.7.2-Linux-x86_64.sh --prefix=$HOME/usr --exclude-subdir --skip-license
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 100
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 100
- sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-5 100
- sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-3.8 100
- cd ..
- git clone https://github.com/bareflank/hypervisor.git
- mv extended_apis hypervisor/
- cd hypervisor
#
# Build Matrix
#
matrix:
include:
#
# Astyle
#
- os: linux
env:
- TEST="Astyle"
script:
- if [[ -n $(./tools/astyle/run.sh | grep Formatted) ]]; then echo "You must run astyle before submitting a pull request"; exit -1; fi
#
# Doxygen
#
- os: linux
env:
- TEST="Doxygen"
script:
- ./configure
- make doxygen
- if cat doc/doxygen_warnings.txt | grep FIX; then echo "You must fix doxygen before submitting a pull request"; exit -1; fi
#
# Git Check
#
- os: linux
env:
- TEST="Git Check"
script:
- if [[ -n $(git diff --check HEAD^) ]]; then echo "You must remove whitespace before submitting a pull request"; exit -1; fi
#
# Codecov
#
- os: linux
env:
- TEST="Codecov"
script:
- ./configure --compiler clang-3.8
- CC=clang-3.8 CXX=clang++-3.8 COVERALLS=true make
- make test
after_success:
- cd extended_apis
- ./tools/codecov/codecov.sh -s . -p ../makefiles/extended_apis/ -c -x ./tools/codecov/llvm-gcov.sh
#
# Clang Tidy
#
- os: linux
env:
- TEST="Clang Tidy"
install:
- git clone https://github.com/rizsotto/bear.git
- pushd bear; git reset --hard 37b96a184f32b859c8f25ea2dc0d3f07242a9a98; cmake .; make; sudo make install; popd
script:
- ./configure --compiler clang-3.8
- STATIC_ANALYSIS_ENABLED=true bear make
- EXTENDED_APIS_EXTENSION=true make tidy
#
# Google Sanitizers
#
- os: linux
env:
- TEST="Google Sanitizers"
script:
- ./configure --compiler clang-3.8
- DYNAMIC_ANALYSIS_ENABLED=true make
- make test
#
# Clang 3.8
#
- os: linux
env:
- TEST="Clang 3.8"
script:
- ./configure --compiler clang-3.8
- make
- make test
#
# Clang 3.9
#
- os: linux
env:
- TEST="Clang 3.9"
script:
- ./configure --compiler clang-3.9
- make
- make test