ext-cryptopp/.travis.yml

111 lines
2.5 KiB
YAML
Raw Normal View History

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="native"
- BUILD_MODE="no-asm"
2017-08-17 05:47:08 +00:00
- BUILD_MODE="debug"
- 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 05:17:28 +00:00
matrix:
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"
allow_failures:
2017-08-17 03:15:23 +00:00
- os: osx
env: BUILD_MODE="ios-watch"
script:
2017-08-11 02:59:00 +00:00
- |
if [[ "$BUILD_MODE" == "ios-arm" ]]; then
cp ./TestScripts/setenv-ios.sh .
. ./setenv-ios.sh arm
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 .
. ./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
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
make -f GNUmakefile-cross -j "$BUILD_JOBS"
2017-08-17 05:47:08 +00:00
elif [[ "$BUILD_MODE" == "debug" ]]; then
CXXFLAGS="-DDEBUG -g2 -O1" make -j "$BUILD_JOBS"
./cryptest.exe v
./cryptest.exe tv all
2017-08-11 02:59:00 +00:00
else
make "$BUILD_MODE" -j "$BUILD_JOBS"
2017-08-11 02:59:00 +00:00
./cryptest.exe v
./cryptest.exe tv all
fi
# whitelist branches to avoid testing feature branches twice
branches:
only:
- master
addons:
2017-08-11 02:59:00 +00:00
sonarcloud: true
coverity_scan:
project:
name: "cryptopp"
build_command: "make -j 2"
notifications:
email:
recipients:
- cryptopp-build@googlegroups.com
on_success: always # default: change
2017-08-11 02:59:00 +00:00
on_failure: always # default: always