blob: 1ef8d774e3d9dc7bdcb151bc78c10c5bcf798938 (
plain)
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
|
language: cpp
os:
- linux
- osx
dist: trusty
sudo: false
# OS X only supports one image. Use the latest.
osx_image: xcode8.2
git:
depth: 3
compiler:
- clang
- gcc
env:
global:
- BUILD_JOBS=2
matrix:
- BUILD_MODE="all"
- BUILD_MODE="no-asm"
- BUILD_MODE="debug"
- BUILD_MODE="asan"
- BUILD_MODE="ubsan"
- BUILD_MODE="ios-arm"
- BUILD_MODE="ios-arm64"
- BUILD_MODE="ios-watch"
- BUILD_MODE="ios-tv"
matrix:
exclude:
# Skip GCC on OS X entirely
- os: osx
compiler: gcc
# Skip UBsan due to GCC 4.8
- os: linux
compiler: gcc
env: BUILD_MODE="ubsan"
# Skip UBsan due to Clang 3.4
- os: osx
compiler: clang
env: BUILD_MODE="ubsan"
# No iOS builds on Linux
- os: linux
env: BUILD_MODE="ios-arm"
- os: linux
env: BUILD_MODE="ios-arm64"
- os: linux
env: BUILD_MODE="ios-watch"
- os: linux
env: BUILD_MODE="ios-tv"
allow_failures:
- os: osx
env: BUILD_MODE="ios-watch"
script:
- |
if [[ "$BUILD_MODE" == "ios-arm" ]]; then
cp ./TestScripts/setenv-ios.sh .
. ./setenv-ios.sh arm
make -f GNUmakefile-cross
elif [[ "$BUILD_MODE" == "ios-arm64" ]]; then
cp ./TestScripts/setenv-ios.sh .
. ./setenv-ios.sh arm64
make -f GNUmakefile-cross
elif [[ "$BUILD_MODE" == "ios-watch" ]]; then
cp ./TestScripts/setenv-ios.sh .
. ./setenv-ios.sh watch
make -f GNUmakefile-cross
elif [[ "$BUILD_MODE" == "ios-tv" ]]; then
cp ./TestScripts/setenv-ios.sh .
. ./setenv-ios.sh tv
make -f GNUmakefile-cross
elif [[ "$BUILD_MODE" == "debug" ]]; then
CXXFLAGS="-DDEBUG -g2 -O1" make
./cryptest.exe v
./cryptest.exe tv all
else
make "$BUILD_MODE"
./cryptest.exe v
./cryptest.exe tv all
fi
# whitelist branches to avoid testing feature branches twice
branches:
only:
- master
addons:
sonarcloud: true
coverity_scan:
project:
name: "cryptopp"
build_command: "make -j 2"
notifications:
email:
recipients:
- cryptopp-build@googlegroups.com
on_success: always # default: change
on_failure: always # default: always
|