diff options
Diffstat (limited to 'src/scripts/ci')
-rw-r--r-- | src/scripts/ci/travis.yml | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/src/scripts/ci/travis.yml b/src/scripts/ci/travis.yml new file mode 100644 index 000000000..cdd5192b6 --- /dev/null +++ b/src/scripts/ci/travis.yml @@ -0,0 +1,132 @@ +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: + # Ignore some problem builds for now + allow_failures: + - os: linux + env: BUILD_MODE="cross-win32" + + 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: + - if [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then ./src/scripts/ci_build.py --os=$TRAVIS_OS_NAME --cc=$CC --cc-bin=$CXX $BUILD_MODE; fi + +# whitelist branches to avoid testing feature branches twice (as branch and as pull request) +branches: + only: + - master + - release-2 + - coverity_scan + +notifications: + email: [email protected] + +git: + depth: 5 + +cache: + ccache: true + directories: + - $HOME/.sonar/cache + +addons: + sonarcloud: true + + coverity_scan: + project: + name: "randombit/botan" + notification_email: [email protected] + build_command_prepend: "./configure.py --no-optimizations --with-zlib" + build_command: "make -j2" + branch_pattern: coverity_scan + |