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