ext-cryptopp/.travis.yml

609 lines
16 KiB
YAML
Raw Normal View History

2019-10-21 09:08:57 +00:00
# In the YML below each job gets an environment that includes
# BUILD_OS and BUILD_MODE. The variables are used in the driver
# scripts and is used to select a test. For example, BUILD_OS=linux
# and BUILD_MODE=all means run 'make all' on Linux. Travis supplies
# Linux based on 'os: linux' key so BUILD_OS is effectively ignored.
# The Android and iOS tests specify a BUILD_ARCH. BUILD_ARCH is passed
# to the underlying setenv-*.sh scripts. For example, testing on iOS,
# BUILD_ARCH=arm64 means 'setenv-ios.sh arm64' is called before
# 'make GNUmakefile-cross' is called.
# DO NOT create top level (global) keys like env, arch, os, compiler.
# The top level/global keys invoke [unwanted] matrix expansion. Also
# see https://stackoverflow.com/q/58473000/608639 and
# https://docs.travis-ci.com/user/reference/overview/ and
# https://docs.travis-ci.com/user/multi-cpu-architectures and
# https://github.com/travis-ci/travis-yml/blob/master/schema.json.
language: cpp
2019-10-22 20:59:39 +00:00
dist: bionic
git:
2018-12-09 08:31:50 +00:00
depth: 5
# Use jobs rather than matrix since we are precisely
# specifiying our test cases. Do not move any of the
# keys (env, os, arch, compiler, etc) into global.
# Putting them in global invokes the matrix expansion.
jobs:
include:
- os: linux
name: Standard build, GCC, Linux, amd64
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=all
- os: linux
name: Native build, GCC, Linux, amd64
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=native
- os: linux
name: No-asm build, GCC, Linux, amd64
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=no-asm
- os: linux
name: Debug build, GCC, Linux, amd64
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=debug
- os: linux
name: Asan build, GCC, Linux, amd64
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=asan
- os: linux
name: UBsan build, GCC, Linux, amd64
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=ubsan
- os: linux
name: PEM build, GCC, Linux, amd64
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=pem
- os: linux
name: Autotools build, GCC, Linux, amd64
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=autotools
- os: linux
name: CMake build, GCC, Linux, amd64
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=cmake
- os: linux
name: Standard build, Clang, Linux, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=all
- os: linux
name: Native build, Clang, Linux, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=native
- os: linux
name: No-asm build, Clang, Linux, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=no-asm
- os: linux
name: Debug build, Clang, Linux, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=debug
- os: linux
name: Asan build, Clang, Linux, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=asan
- os: linux
name: UBsan build, Clang, Linux, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=ubsan
2019-10-15 03:05:05 +00:00
- os: linux
name: PEM build, Clang, Linux, amd64
arch: amd64
compiler: clang
2019-10-15 03:05:05 +00:00
env:
- BUILD_OS=linux
- BUILD_MODE=pem
- os: linux
name: Autotools build, Clang, Linux, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=autotools
- os: linux
name: CMake build, Clang, Linux, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=cmake
- os: osx
osx_image: xcode10.1
name: Standard build, Clang, OS X, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=all
- os: osx
osx_image: xcode10.1
name: Native build, Clang, OS X, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=native
2019-10-15 03:05:05 +00:00
- os: osx
osx_image: xcode10.1
name: No-asm build, Clang, OS X, amd64
arch: amd64
compiler: clang
2019-10-15 03:01:27 +00:00
env:
2019-10-15 03:05:05 +00:00
- BUILD_OS=osx
- BUILD_MODE=no-asm
- os: osx
osx_image: xcode10.1
name: Debug build, Clang, OS X, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=debug
- os: osx
osx_image: xcode10.1
name: Asan build, Clang, OS X, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=asan
- os: osx
osx_image: xcode10.1
name: UBsan build, Clang, OS X, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=ubsan
- os: osx
osx_image: xcode10.1
name: PEM build, Clang, OS X, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=pem
- os: osx
osx_image: xcode10.1
name: Autotools build, Clang, OS X, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=autotools
- os: osx
osx_image: xcode10.1
name: CMake build, Clang, OS X, amd64
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=cmake
- os: linux
name: Standard build, GCC, Linux, arm64
arch: arm64
compiler: gcc
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=all
- os: linux
name: Native build, GCC, Linux, arm64
arch: arm64
compiler: gcc
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=native
- os: linux
name: No-asm build, GCC, Linux, arm64
arch: arm64
compiler: gcc
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=no-asm
- os: linux
name: Debug build, GCC, Linux, arm64
arch: arm64
compiler: gcc
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=debug
- os: linux
name: Asan build, GCC, Linux, arm64
arch: arm64
compiler: gcc
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=asan
- os: linux
name: UBsan build, GCC, Linux, arm64
arch: arm64
compiler: gcc
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=ubsan
- os: linux
name: PEM build, GCC, Linux, arm64
arch: arm64
compiler: gcc
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
2019-10-15 03:01:27 +00:00
- BUILD_MODE=pem
- os: linux
name: Autotools build, GCC, Linux, arm64
arch: arm64
compiler: gcc
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=autotools
- os: linux
name: CMake build, GCC, Linux, arm64
arch: arm64
compiler: gcc
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=cmake
- os: linux
name: Standard build, Clang, Linux, arm64
arch: arm64
compiler: clang
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=all
- os: linux
name: Native build, Clang, Linux, arm64
arch: arm64
compiler: clang
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=native
- os: linux
name: No-asm build, Clang, Linux, arm64
arch: arm64
compiler: clang
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=no-asm
- os: linux
name: Debug build, Clang, Linux, arm64
arch: arm64
compiler: clang
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=debug
- os: linux
name: Asan build, Clang, Linux, arm64
arch: arm64
compiler: clang
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=asan
- os: linux
name: UBsan build, Clang, Linux, arm64
arch: arm64
compiler: clang
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=ubsan
- os: linux
name: PEM build, Clang, Linux, arm64
arch: arm64
compiler: clang
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=pem
- os: linux
name: Autotools build, Clang, Linux, arm64
arch: arm64
compiler: clang
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=autotools
- os: linux
name: CMake build, Clang, Linux, arm64
arch: arm64
compiler: clang
2019-10-23 00:13:47 +00:00
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=cmake
2019-10-22 20:59:39 +00:00
- os: linux
name: Standard build, GCC, Linux, ppc64le
2019-10-22 20:59:39 +00:00
arch: ppc64le
compiler: gcc
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=all
- os: linux
name: Debug build, GCC, Linux, ppc64le
arch: ppc64le
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=debug
2019-10-22 20:59:39 +00:00
- os: linux
name: Standard build, Clang, Linux, ppc64le
2019-10-22 20:59:39 +00:00
arch: ppc64le
compiler: clang
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=all
- os: linux
name: Debug build, Clang, Linux, ppc64le
arch: ppc64le
compiler: clang
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=debug
- os: linux
name: Standard build, GCC, Linux, s390x
arch: s390x
compiler: gcc
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=all
- os: linux
name: Debug build, GCC, Linux, s390x
arch: s390x
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=debug
- os: linux
name: Standard build, Clang, Linux, s390x
arch: s390x
compiler: clang
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=all
- os: linux
name: Debug build, Clang, Linux, s390x
arch: s390x
compiler: clang
dist: bionic
env:
- BUILD_OS=linux
- BUILD_MODE=debug
2019-10-15 03:05:05 +00:00
- os: linux
name: Android, armv7a, Linux
arch: amd64
env:
- BUILD_OS=linux
- BUILD_MODE=android
- ANDROID_CPU=armv7a
- ANDROID_API=23
- ANDROID_SDK_ROOT="$HOME/android-sdk"
- ANDROID_NDK_ROOT="$HOME/android-ndk"
- os: linux
name: Android, aarch64, Linux
arch: amd64
env:
- BUILD_OS=linux
- BUILD_MODE=android
- ANDROID_CPU=aarch64
- ANDROID_API=23
- ANDROID_SDK_ROOT="$HOME/android-sdk"
- ANDROID_NDK_ROOT="$HOME/android-ndk"
- os: linux
name: Android, x86, Linux
arch: amd64
env:
- BUILD_OS=linux
- BUILD_MODE=android
- ANDROID_CPU=x86
- ANDROID_API=23
- ANDROID_SDK_ROOT="$HOME/android-sdk"
- ANDROID_NDK_ROOT="$HOME/android-ndk"
- os: linux
name: Android, x86_64, Linux
arch: amd64
env:
- BUILD_OS=linux
- BUILD_MODE=android
- ANDROID_CPU=x86_64
- ANDROID_API=23
- ANDROID_SDK_ROOT="$HOME/android-sdk"
- ANDROID_NDK_ROOT="$HOME/android-ndk"
- os: osx
osx_image: xcode10.1
name: iPhoneOS, armv7, iOS
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- IOS_CPU=armv7s
- IOS_SDK=iPhoneOS
- os: osx
osx_image: xcode10.1
name: iPhoneOS, arm64, iOS
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- IOS_CPU=arm64
- IOS_SDK=iPhoneOS
- os: osx
osx_image: xcode10.1
name: AppleTVOS, arm64, iOS
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- IOS_CPU=arm64
- IOS_SDK=AppleTVOS
- os: osx
osx_image: xcode10.1
name: WatchOS, armv7, iOS
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- IOS_CPU=armv7k
- IOS_SDK=WatchOS
- os: osx
osx_image: xcode10.1
name: iPhoneSimulator, i386, OS X
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- IOS_CPU=i386
- IOS_SDK=iPhoneSimulator
- os: osx
osx_image: xcode10.1
name: iPhoneSimulator, x86_64, OS X
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- IOS_CPU=x86_64
- IOS_SDK=iPhoneSimulator
- os: osx
osx_image: xcode10.1
name: AppleTVSimulator, x86_64, OS X
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- IOS_CPU=x86_64
- IOS_SDK=AppleTVSimulator
- os: osx
osx_image: xcode10.1
name: WatchSimulator, i386, OS X
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- IOS_CPU=i386
- IOS_SDK=WatchSimulator
allow_failures:
# Clang has a fair amount of trouble
# on platforms Apple does not support
- os: linux
arch: s390x
compiler: clang
# Clang 7.0 and below will likely have trouble due to
# https://bugs.llvm.org/show_bug.cgi?id=39704
- os: linux
arch: ppc64le
compiler: clang
before_install:
- |
if [[ "$BUILD_OS" == "linux" ]] && [[ "$BUILD_MODE" == "android" ]]; then
# https://github.com/travis-ci/travis-ci/issues/9037
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A145
sudo apt-get update
bash TestScripts/install-ndk.sh
fi
if [[ "$BUILD_OS" == "linux" ]] && [[ "$BUILD_MODE" == "autotools" ]]; then
# https://github.com/travis-ci/travis-ci/issues/9037
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A145
2019-10-23 12:36:52 +00:00
sudo apt-get -y install autoconf automake libtool
fi
script:
2017-08-11 02:59:00 +00:00
- |
if [[ "$BUILD_MODE" == "ios" ]]; then
source TestScripts/setenv-ios.sh
make -f GNUmakefile-cross -j 2 all static dynamic
elif [[ "$BUILD_MODE" == "android" ]]; then
source TestScripts/setenv-android.sh
make -f GNUmakefile-cross -j 2 all static dynamic
elif [[ "$BUILD_MODE" == "autotools" ]]; then
bash TestScripts/cryptest-autotools.sh
elif [[ "$BUILD_MODE" == "cmake" ]]; then
bash TestScripts/cryptest-cmake.sh
2019-10-15 03:05:05 +00:00
elif [[ "$BUILD_MODE" == "pem" ]]; then
bash TestScripts/cryptest-pem.sh
2017-08-17 05:47:08 +00:00
elif [[ "$BUILD_MODE" == "debug" ]]; then
CXXFLAGS="-DDEBUG -g2 -O1" make -j 2
./cryptest.exe v
./cryptest.exe tv all
2017-08-11 02:59:00 +00:00
else
make "$BUILD_MODE" -j 2
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
- /\/ci$/
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