2017-05-26 14:08:44 +00:00
|
|
|
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:
|
2017-05-27 04:41:58 +00:00
|
|
|
- BUILD_MODE="all"
|
2017-08-23 20:13:20 +00:00
|
|
|
- BUILD_MODE="native"
|
2017-05-26 14:08:44 +00:00
|
|
|
- BUILD_MODE="no-asm"
|
2017-08-17 05:47:08 +00:00
|
|
|
- BUILD_MODE="debug"
|
2017-05-26 14:08:44 +00:00
|
|
|
- BUILD_MODE="asan"
|
|
|
|
- BUILD_MODE="ubsan"
|
2017-08-11 02:59:00 +00:00
|
|
|
- BUILD_MODE="ios-arm"
|
|
|
|
- BUILD_MODE="ios-arm64"
|
2017-08-17 03:15:23 +00:00
|
|
|
- BUILD_MODE="ios-watch"
|
|
|
|
- BUILD_MODE="ios-tv"
|
2017-05-28 06:42:40 +00:00
|
|
|
|
2017-05-28 05:17:28 +00:00
|
|
|
matrix:
|
2017-05-28 21:00:09 +00:00
|
|
|
|
2017-05-26 14:08:44 +00:00
|
|
|
exclude:
|
|
|
|
# Skip GCC on OS X entirely
|
|
|
|
- os: osx
|
|
|
|
compiler: gcc
|
2017-08-11 02:59:00 +00:00
|
|
|
# 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"
|
2017-08-17 03:15:23 +00:00
|
|
|
- os: linux
|
|
|
|
env: BUILD_MODE="ios-watch"
|
|
|
|
- os: linux
|
|
|
|
env: BUILD_MODE="ios-tv"
|
2017-05-26 14:08:44 +00:00
|
|
|
|
2017-05-28 06:42:40 +00:00
|
|
|
allow_failures:
|
2017-08-17 03:15:23 +00:00
|
|
|
- os: osx
|
|
|
|
env: BUILD_MODE="ios-watch"
|
2017-05-28 06:42:40 +00:00
|
|
|
|
2017-05-26 14:08:44 +00:00
|
|
|
script:
|
2017-08-11 02:59:00 +00:00
|
|
|
- |
|
|
|
|
if [[ "$BUILD_MODE" == "ios-arm" ]]; then
|
|
|
|
cp ./TestScripts/setenv-ios.sh .
|
|
|
|
. ./setenv-ios.sh arm
|
2017-09-17 01:23:35 +00:00
|
|
|
make -f GNUmakefile-cross -j "$BUILD_JOBS"
|
2017-08-11 02:59:00 +00:00
|
|
|
elif [[ "$BUILD_MODE" == "ios-arm64" ]]; then
|
|
|
|
cp ./TestScripts/setenv-ios.sh .
|
2017-09-17 01:23:35 +00:00
|
|
|
. ./setenv-ios.sh arm64 -j "$BUILD_JOBS"
|
2017-08-11 02:59:00 +00:00
|
|
|
make -f GNUmakefile-cross
|
2017-08-17 03:15:23 +00:00
|
|
|
elif [[ "$BUILD_MODE" == "ios-watch" ]]; then
|
|
|
|
cp ./TestScripts/setenv-ios.sh .
|
|
|
|
. ./setenv-ios.sh watch
|
2017-09-17 01:23:35 +00:00
|
|
|
make -f GNUmakefile-cross -j "$BUILD_JOBS"
|
2017-08-17 03:15:23 +00:00
|
|
|
elif [[ "$BUILD_MODE" == "ios-tv" ]]; then
|
|
|
|
cp ./TestScripts/setenv-ios.sh .
|
|
|
|
. ./setenv-ios.sh tv
|
2017-09-17 01:23:35 +00:00
|
|
|
make -f GNUmakefile-cross -j "$BUILD_JOBS"
|
2017-08-17 05:47:08 +00:00
|
|
|
elif [[ "$BUILD_MODE" == "debug" ]]; then
|
2017-09-17 01:23:35 +00:00
|
|
|
CXXFLAGS="-DDEBUG -g2 -O1" make -j "$BUILD_JOBS"
|
2017-08-23 20:13:20 +00:00
|
|
|
./cryptest.exe v
|
|
|
|
./cryptest.exe tv all
|
2017-08-11 02:59:00 +00:00
|
|
|
else
|
2017-09-17 01:23:35 +00:00
|
|
|
make "$BUILD_MODE" -j "$BUILD_JOBS"
|
2017-08-11 02:59:00 +00:00
|
|
|
./cryptest.exe v
|
|
|
|
./cryptest.exe tv all
|
|
|
|
fi
|
2017-05-27 07:08:07 +00:00
|
|
|
|
2017-05-26 14:08:44 +00:00
|
|
|
# whitelist branches to avoid testing feature branches twice
|
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- master
|
|
|
|
|
|
|
|
addons:
|
2017-08-11 02:59:00 +00:00
|
|
|
sonarcloud: true
|
2017-05-26 14:08:44 +00:00
|
|
|
|
|
|
|
coverity_scan:
|
|
|
|
project:
|
|
|
|
name: "cryptopp"
|
|
|
|
build_command: "make -j 2"
|
|
|
|
|
2017-05-31 08:36:31 +00:00
|
|
|
notifications:
|
2017-05-31 11:22:04 +00:00
|
|
|
email:
|
|
|
|
recipients:
|
|
|
|
- cryptopp-build@googlegroups.com
|
|
|
|
on_success: always # default: change
|
2017-08-11 02:59:00 +00:00
|
|
|
on_failure: always # default: always
|