mirror of
https://github.com/shadps4-emu/ext-cryptopp.git
synced 2024-11-23 09:59:42 +00:00
d58a00ba21
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.
581 lines
14 KiB
YAML
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
|