language: cpp sudo: required env: global: - CCACHE_MAXSIZE=1G - PKCS11_LIB=/usr/lib/softhsm/libsofthsm2.so jobs: include: - os: linux dist: bionic name: Linux/GCC compiler: gcc env: - TARGET="shared" - os: linux dist: bionic name: Linux/Clang compiler: clang env: - TARGET="shared" - os: linux dist: xenial name: Coverage compiler: gcc env: - TARGET="coverage" - os: linux dist: bionic arch: arm64 name: Fuzzers compiler: gcc env: - TARGET="fuzzers" - os: linux dist: bionic name: Valgrind compiler: gcc env: - TARGET="valgrind" - os: linux dist: bionic name: Linux arm64 arch: arm64 compiler: gcc env: - TARGET="shared" - os: linux dist: bionic name: Linux ppc64le arch: ppc64le compiler: gcc env: - TARGET="shared" - os: linux dist: bionic name: Linux s390x arch: s390x compiler: gcc env: - TARGET="shared" - os: linux dist: bionic name: Linux i386 cross compiler: gcc env: - TARGET="cross-i386" - os: linux dist: xenial name: Linux ppc32 cross compiler: gcc env: - TARGET="cross-ppc32" - os: linux dist: bionic arch: arm64 name: Linux arm32 cross compiler: gcc env: - TARGET="cross-arm32" - os: linux dist: bionic name: Android arm32 cross compiler: clang env: - TARGET="cross-android-arm32" - ANDROID_NDK=android-ndk-r20 - os: linux dist: bionic name: Android arm64 cross compiler: clang env: - TARGET="cross-android-arm64" - ANDROID_NDK=android-ndk-r20 - os: linux dist: bionic name: MinGW x86-64 cross compiler: gcc env: - TARGET="cross-win64" - os: osx name: macOS compiler: clang env: - TARGET="shared" - os: osx name: iOS compiler: clang env: - TARGET="cross-arm64" - os: linux dist: bionic name: Linux GCC 4.8 compiler: gcc env: - TARGET="gcc4.8" - EXTRA_FLAGS="--disable-werror" - os: linux dist: bionic name: Linux Clang 8 compiler: clang env: - TARGET="clang8" - CXX="/usr/bin/clang++-8" - os: linux dist: bionic name: Minimized compiler: gcc env: - TARGET="mini-shared" - os: linux dist: bionic arch: arm64 name: Baremetal compiler: gcc env: - TARGET="baremetal" - os: linux dist: bionic name: BSI policy compiler: gcc env: - TARGET="bsi" - os: linux dist: bionic name: NIST policy compiler: gcc env: - TARGET="nist" - os: linux dist: bionic name: Pylint compiler: gcc env: - TARGET="lint" - os: linux dist: bionic name: Documentation compiler: gcc env: - TARGET="docs" install: - ./src/scripts/ci/setup_travis.sh script: - ./src/scripts/ci_build.py --os=$TRAVIS_OS_NAME --cc=$CC --cc-bin=$CXX --without-pylint3 --pkcs11-lib=$PKCS11_LIB $EXTRA_FLAGS $TARGET # whitelist branches to avoid testing feature branches twice (as branch and as pull request) branches: only: - master - release-2 - coverity_scan git: depth: 10 cache: ccache: true addons: coverity_scan: project: name: "randombit/botan" notification_email: jack@randombit.net build_command_prepend: "./configure.py --no-optimizations --with-zlib --with-openssl" build_command: "make -j2" branch_pattern: coverity_scan