diff --git a/.travis.yml b/.travis.yml index 8aafd2ed..e1a82950 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,25 +1,26 @@ language: ruby rvm: - - 2.0.0 - - 2.1.6 - - 2.2.2 - - 2.3.0 + # - 2.0.0 + # - 2.1.6 + # - 2.2.2 + # - 2.3.0 - 2.4.0 - - ruby-head - - jruby-19mode - - jruby-9.1.5.0 - - jruby-head + # - ruby-head + # - jruby-19mode + # - jruby-9.1.5.0 + # - jruby-head os: - linux - - osx +# - osx sudo: false branches: only: - master + - coverity_scan gemfile: - Gemfile @@ -39,3 +40,22 @@ matrix: - rvm: jruby-head - rvm: jruby-19mode os: osx + +env: + global: + - secure: "bWJR/alkUhovaZVn4EySamXsWsvAngLh/krZf3Jha6gYWGaf6HXFwB5gM9EaBIQsZKGECL9AKN0v8rX6tqSnXMKX2FgA9ClYvO0F60JviY6Ur6OT2rG0pm+WZZ1jzyGmf+5gVqiWF1/lM/tokdnj0Nw68OQwlNdc+DqxGXormO8=" # travis encrypt COVERITY_SCAN_TOKEN=... + +before_install: + # Skip build if branch is coverity_scan and this is the 1st job of the build matrix + - test "$TRAVIS_BRANCH" != "coverity_scan" -o "${TRAVIS_JOB_NUMBER##*.}" = 1 || exit 0 + +addons: + coverity_scan: + project: + name: "msgpack/msgpack-ruby" + description: "Build submitted via Travis CI" + notification_email: frsyuki@gmail.com + build_command_prepend: "bundle exec rake compile && make -C tmp/x86_64-linux*/msgpack/*/ clean" + build_command: "make -C tmp/x86_64-linux*/msgpack/*/" + branch_pattern: coverity_scan + diff --git a/ci/travis_submit_coverity_scan.sh b/ci/travis_submit_coverity_scan.sh new file mode 100755 index 00000000..7e7294f4 --- /dev/null +++ b/ci/travis_submit_coverity_scan.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -ex + +# Skip if branch is not coverity_scan +[ "$TRAVIS_BRANCH" != "coverity_scan" ] && exit 0 + +bundle exec rake clean +rm -rf cov-int +cov-build --dir cov-int bundle exec rake compile +tar czvf msgpack-ruby-coverity.tar.gz cov-int + +set +x # not to leak COVERITY_SCAN_TOKEN to stdout + +echo "Posting to https://scan.coverity.com/builds?project=msgpack%2Fmsgpack-ruby" + +curl --form token="$COVERITY_SCAN_TOKEN" \ + --form email=frsyuki@gmail.com \ + --form file=@msgpack-ruby-coverity.tar.gz \ + --form version="$(git show --pretty=format:'%H-%ad' --date 'format:%Y%m%dT%H%M%S' $TRAVIS_COMMIT | head -n 1)" \ + --form description="msgpack-ruby coverity scan" \ + "https://scan.coverity.com/builds?project=msgpack%2Fmsgpack-ruby" +