botan-src 0.21500.0

Sources of for Botan cryptography library
Documentation
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 s390x
#      arch: s390x
#      compiler: gcc
#      env:
#       - TARGET="shared"

    - 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 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