summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2019-10-20 21:46:05 -0400
committerGitHub <noreply@github.com>2019-10-20 21:46:05 -0400
commitd58a00ba21e7dc6d6dbaab3dc13159692de66096 (patch)
tree3bb643ce6c119528a64f867b78996abe422cea32 /.travis.yml
parentfea35d829ea2a7c9a1d874132d72a8cfc184d9b3 (diff)
downloadcryptopp-git-d58a00ba21e7dc6d6dbaab3dc13159692de66096.tar.gz
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.
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml464
1 files changed, 425 insertions, 39 deletions
diff --git a/.travis.yml b/.travis.yml
index c1d133fc..6a48ce67 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,137 +1,522 @@
-language: cpp
-
-os:
- - linux
- - osx
+# 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
-osx_image: xcode10.1
-
git:
depth: 5
-compiler:
- - clang
- - gcc
-
-env:
- global:
- - BUILD_JOBS=2
- - 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"
-
- matrix:
- - BUILD_MODE="all"
- - BUILD_MODE="native"
- - BUILD_MODE="no-asm"
- - BUILD_MODE="debug"
- - BUILD_MODE="asan"
- - BUILD_MODE="ubsan"
- - BUILD_MODE="pem"
-
-matrix:
-
- exclude:
- # Skip GCC on OS X entirely
- - os: osx
- compiler: gcc
-
+# 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=autotools
+ - 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=cmake
+ - 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:
@@ -178,10 +563,11 @@ script:
./cryptest.exe tv all
fi
-# whitelist branches to avoid testing feature branches twice
+# Whitelist branches to avoid testing feature branches twice
branches:
only:
- master
+ - /\/ci$/
addons:
sonarcloud: false