language: cpp os: - linux - osx dist: trusty sudo: required osx_image: xcode8.2 compiler: - clang - gcc env: global: - CCACHE_MAXSIZE=250M - CCACHE_MAXFILES=2000 - CCACHE_COMPRESS=1 # SONAR_TOKEN for accessing the Sonar server - secure: "VezRbHFg6kllV5WG06M3tG3aHJaC3xrMylJ6RCVbL+uz2JeralVCqV7eIk4fVb9cu83Li+weEa0AJj0wkxpIUJ+vUh5F65L6gSWSbgHP7muOSVsmnEc6KvX4n3av/ZGe4geSmsxqh2pd/2xI1h7KioGRhKeqaZIdjVgWgGJW2iQ=" matrix: - BUILD_MODE="docs" - BUILD_MODE="lint" - BUILD_MODE="mini-shared" - BUILD_MODE="mini-static" - BUILD_MODE="shared" - BUILD_MODE="static" - BUILD_MODE="bsi" - BUILD_MODE="nist" - BUILD_MODE="sanitizer" - BUILD_MODE="cross-ppc32" - BUILD_MODE="cross-ppc64" - BUILD_MODE="cross-arm32" - BUILD_MODE="cross-arm64" - BUILD_MODE="cross-win32" - BUILD_MODE="valgrind" - BUILD_MODE="sonar" - BUILD_MODE="coverage" - BUILD_MODE="fuzzers" matrix: exclude: # Skip GCC on OS X entirely - os: osx compiler: gcc # Run static, docs, lint, bsi, nist, fuzzers, coverage, valgrind, # sonar, 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="sonar" - compiler: clang env: BUILD_MODE="sanitizer" - compiler: clang env: BUILD_MODE="fuzzers" - compiler: clang env: BUILD_MODE="valgrind" - compiler: clang env: BUILD_MODE="mini-shared" - compiler: clang env: BUILD_MODE="mini-static" - compiler: clang env: BUILD_MODE="cross-win32" - compiler: clang env: BUILD_MODE="cross-ppc32" - compiler: clang env: BUILD_MODE="cross-ppc64" # 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 --compiler-cache=ccache $BUILD_MODE # whitelist branches to avoid testing feature branches twice (as branch and as pull request) branches: only: - master - release-2 - coverity_scan notifications: email: botan-commits@lists.randombit.net git: depth: 5 cache: ccache: true directories: - $HOME/.sonar/cache addons: sonarcloud: true 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