language: cpp os: - osx - linux dist: xenial sudo: required compiler: - clang - gcc env: global: - CCACHE_MAXSIZE=800M matrix: - BUILD_MODE="shared" - BUILD_MODE="coverage" - BUILD_MODE="fuzzers" - BUILD_MODE="valgrind" - BUILD_MODE="cross-i386" - BUILD_MODE="cross-ppc32" - BUILD_MODE="cross-ppc64" - BUILD_MODE="cross-arm32" - BUILD_MODE="cross-arm64" - BUILD_MODE="cross-mips64" - BUILD_MODE="cross-win64" - BUILD_MODE="gcc4.8" - BUILD_MODE="static" - BUILD_MODE="mini-shared" - BUILD_MODE="bsi" - BUILD_MODE="nist" - BUILD_MODE="docs" - BUILD_MODE="lint" matrix: exclude: # Skip GCC on OS X entirely - os: osx compiler: gcc # XCode 9.4 ICEs on 32-bit ARM builds - os: osx env: BUILD_MODE="cross-arm32" # Run static, docs, lint, bsi, nist, fuzzers, coverage, valgrind, # sanitizer, minimized and non-ARM cross builds only on Linux/gcc. # The sanitizer builds under Clang run the tests very slowly and # cause CI timeouts. - compiler: clang env: BUILD_MODE="static" - compiler: clang env: BUILD_MODE="bsi" - compiler: clang env: BUILD_MODE="nist" - compiler: clang env: BUILD_MODE="lint" - compiler: clang env: BUILD_MODE="docs" - compiler: clang env: BUILD_MODE="coverage" - compiler: clang env: BUILD_MODE="fuzzers" - compiler: clang env: BUILD_MODE="valgrind" - compiler: clang env: BUILD_MODE="mini-shared" - compiler: clang env: BUILD_MODE="cross-win64" - compiler: clang env: BUILD_MODE="cross-ppc32" - compiler: clang env: BUILD_MODE="cross-ppc64" - compiler: clang env: BUILD_MODE="cross-mips64" - compiler: clang env: BUILD_MODE="cross-i386" - compiler: clang env: BUILD_MODE="gcc4.8" # No ARM Clang compiler on Linux - os: linux compiler: clang env: BUILD_MODE="cross-arm32" - os: linux compiler: clang env: BUILD_MODE="cross-arm64" 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=/tmp/softhsm/lib/softhsm/libsofthsm2.so $BUILD_MODE # 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