ext-cryptopp/.travis.yml
Jeffrey Walton d58a00ba21
Cleanup config_*.h files, update travis.yml file (PR #898)
This started as an update to travis.yml to support ARM64 testing. Autotools had a failure under Clang, and it required a modification to config_asm.h. We eventually guarded the availability defines in CRYPTOPP_DISABLE_ASM.
2019-10-20 21:46:05 -04:00

581 lines
14 KiB
YAML

# See https://docs.travis-ci.com/user/reference/overview/ and
# https://docs.travis-ci.com/user/multi-cpu-architectures
# https://docs.travis-ci.com/user/multi-cpu-architectures
# https://github.com/travis-ci/travis-yml/blob/master/schema.json
language: cpp
dist: xenial
sudo: required
git:
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: Linux with GCC (all)
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=all
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (native)
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=native
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (no-asm)
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=no-asm
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (debug)
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=debug
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (asan)
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=asan
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (ubsan)
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=ubsan
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (pem)
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=pem
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (autotools)
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=autotools
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (cmake)
arch: amd64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=cmake
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (all)
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=all
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (native)
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=native
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (no-asm)
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=no-asm
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (debug)
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=debug
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (asan)
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=asan
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (ubsan)
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=ubsan
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (pem)
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=pem
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (autotools)
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=autotools
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (cmake)
arch: amd64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=cmake
- BUILD_JOBS=2
- os: osx
osx_image: xcode10.1
name: OS X with Clang (all)
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=all
- BUILD_JOBS=2
- os: osx
osx_image: xcode10.1
name: OS X with Clang (native)
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=native
- BUILD_JOBS=2
- os: osx
osx_image: xcode10.1
name: OS X with Clang (no-asm)
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=no-asm
- BUILD_JOBS=2
- os: osx
osx_image: xcode10.1
name: OS X with Clang (debug)
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=debug
- BUILD_JOBS=2
- os: osx
osx_image: xcode10.1
name: OS X with Clang (asan)
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=asan
- BUILD_JOBS=2
- os: osx
osx_image: xcode10.1
name: OS X with Clang (ubsan)
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=ubsan
- BUILD_JOBS=2
- os: osx
osx_image: xcode10.1
name: OS X with Clang (pem)
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=pem
- BUILD_JOBS=2
- os: osx
osx_image: xcode10.1
name: OS X with Clang (autotools)
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=autotools
- BUILD_JOBS=2
- os: osx
osx_image: xcode10.1
name: OS X with Clang (cmake)
arch: amd64
compiler: clang
env:
- BUILD_OS=osx
- BUILD_MODE=cmake
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (all)
arch: arm64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=all
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (native)
arch: arm64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=native
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (no-asm)
arch: arm64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=no-asm
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (debug)
arch: arm64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=debug
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (asan)
arch: arm64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=asan
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (ubsan)
arch: arm64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=ubsan
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (pem)
arch: arm64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=pem
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (autotools)
arch: arm64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=autotools
- BUILD_JOBS=2
- os: linux
name: Linux with GCC (cmake)
arch: arm64
compiler: gcc
env:
- BUILD_OS=linux
- BUILD_MODE=cmake
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (all)
arch: arm64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=all
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (native)
arch: arm64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=native
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (no-asm)
arch: arm64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=no-asm
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (debug)
arch: arm64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=debug
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (asan)
arch: arm64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=asan
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (ubsan)
arch: arm64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=ubsan
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (pem)
arch: arm64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=pem
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (autotools)
arch: arm64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=autotools
- BUILD_JOBS=2
- os: linux
name: Linux with Clang (cmake)
arch: arm64
compiler: clang
env:
- BUILD_OS=linux
- BUILD_MODE=cmake
- BUILD_JOBS=2
- os: linux
name: Android on Linux (armeabi-v7a)
arch: amd64
env:
- BUILD_OS=linux
- BUILD_MODE=android
- BUILD_JOBS=2
- PLATFORM=armeabi-v7a
- ANDROID_HOME="$HOME/android-sdk"
- ANDROID_SDK="$HOME/android-sdk"
- ANDROID_NDK="$HOME/android-ndk"
- ANDROID_SDK_ROOT="$ANDROID_SDK"
- ANDROID_NDK_ROOT="$ANDROID_NDK"
- os: linux
name: Android on Linux (aarch64)
arch: amd64
env:
- BUILD_OS=linux
- BUILD_MODE=android
- BUILD_JOBS=2
- PLATFORM=aarch64
- ANDROID_HOME="$HOME/android-sdk"
- ANDROID_SDK="$HOME/android-sdk"
- ANDROID_NDK="$HOME/android-ndk"
- ANDROID_SDK_ROOT="$ANDROID_SDK"
- ANDROID_NDK_ROOT="$ANDROID_NDK"
- os: linux
name: Android on Linux (x86)
arch: amd64
env:
- BUILD_OS=linux
- BUILD_MODE=android
- BUILD_JOBS=2
- PLATFORM=x86
- ANDROID_HOME="$HOME/android-sdk"
- ANDROID_SDK="$HOME/android-sdk"
- ANDROID_NDK="$HOME/android-ndk"
- ANDROID_SDK_ROOT="$ANDROID_SDK"
- ANDROID_NDK_ROOT="$ANDROID_NDK"
- os: linux
name: Android on Linux (x86_64)
arch: amd64
env:
- BUILD_OS=linux
- BUILD_MODE=android
- BUILD_JOBS=2
- PLATFORM=x86_64
- ANDROID_HOME="$HOME/android-sdk"
- ANDROID_SDK="$HOME/android-sdk"
- ANDROID_NDK="$HOME/android-ndk"
- ANDROID_SDK_ROOT="$ANDROID_SDK"
- ANDROID_NDK_ROOT="$ANDROID_NDK"
- os: osx
osx_image: xcode10.1
name: iOS on OS X (iPhoneOS)
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- BUILD_JOBS=2
- PLATFORM=iPhoneOS
- os: osx
osx_image: xcode10.1
name: iOS on OS X (Arm64)
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- BUILD_JOBS=2
- PLATFORM=Arm64
- os: osx
osx_image: xcode10.1
name: iOS on OS X (WatchOS)
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- BUILD_JOBS=2
- PLATFORM=WatchOS
- os: osx
osx_image: xcode10.1
name: iOS on OS X (AppleTVOS)
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- BUILD_JOBS=2
- PLATFORM=AppleTVOS
- os: osx
osx_image: xcode10.1
name: iOS on OS X (iPhoneSimulator)
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- BUILD_JOBS=2
- PLATFORM=iPhoneSimulator
- os: osx
osx_image: xcode10.1
name: iOS on OS X (WatchSimulator)
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- BUILD_JOBS=2
- PLATFORM=WatchSimulator
- os: osx
osx_image: xcode10.1
name: iOS on OS X (AppleTVSimulator)
arch: amd64
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- BUILD_JOBS=2
- PLATFORM=AppleTVSimulator
allow_failures:
- os: osx
osx_image: xcode10.1
name: iOS on OS X (WatchOS)
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- BUILD_JOBS=2
- PLATFORM=WatchOS
- os: osx
osx_image: xcode10.1
name: iOS on OS X (iPhoneSimulator)
env:
- BUILD_OS=osx
- BUILD_MODE=ios
- BUILD_JOBS=2
- PLATFORM=iPhoneSimulator
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
source TestScripts/setenv-travis.sh
bash TestScripts/install-android.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
sudo apt-get install -y autoconf automake libtool
fi
script:
- |
if [[ "$BUILD_MODE" == "ios" ]]; then
cp TestScripts/setenv-ios.sh .
cp TestScripts/cryptest-ios.sh .
bash cryptest-ios.sh
elif [[ "$BUILD_MODE" == "android" ]]; then
cp TestScripts/setenv-android.sh .
cp TestScripts/cryptest-android.sh .
bash cryptest-android.sh
elif [[ "$BUILD_MODE" == "autotools" ]]; then
cp TestScripts/cryptest-autotools.sh .
bash cryptest-autotools.sh
elif [[ "$BUILD_MODE" == "cmake" ]]; then
cp TestScripts/cryptest-cmake.sh .
bash cryptest-cmake.sh
elif [[ "$BUILD_MODE" == "pem" ]]; then
cp TestScripts/cryptest-pem.sh .
bash cryptest-pem.sh
elif [[ "$BUILD_MODE" == "debug" ]]; then
CXXFLAGS="-DDEBUG -g2 -O1" make -j "$BUILD_JOBS"
./cryptest.exe v
./cryptest.exe tv all
else
make "$BUILD_MODE" -j "$BUILD_JOBS"
./cryptest.exe v
./cryptest.exe tv all
fi
# Whitelist branches to avoid testing feature branches twice
branches:
only:
- master
- /\/ci$/
addons:
sonarcloud: false
notifications:
email:
recipients:
- cryptopp-build@googlegroups.com
on_success: always # default: change
on_failure: always # default: always