Skip to content
Snippets Groups Projects
.travis.yml 3.46 KiB
Newer Older
sudo: required
dist: trusty
language: c
compiler:
  - gcc
  - clang
env:
  - BINDINGS=none
matrix:
  include:
    - compiler: gcc
      language: ruby
      rvm: ruby-1.9.3-p551
      env: BINDINGS=ruby
    - compiler: clang
      language: ruby
      rvm: ruby-1.9.3-p551
      env: BINDINGS=ruby CC=clang
    - compiler: gcc
      language: ruby
      rvm: ruby-2.0.0-p647
      env: BINDINGS=ruby
    - compiler: clang
      language: ruby
      rvm: ruby-2.0.0-p647
      env: BINDINGS=ruby CC=clang
    - compiler: gcc
      language: ruby
      env: BINDINGS=ruby
    - compiler: clang
      language: ruby
      rvm: ruby-2.1.7
      env: BINDINGS=ruby CC=clang
    - compiler: gcc
      language: ruby
      rvm: ruby-2.2.3
      env: BINDINGS=ruby
    - compiler: clang
      language: ruby
      env: BINDINGS=ruby CC=clang
    - compiler: gcc
      language: python
      env: BINDINGS=python
    - compiler: clang
      language: python
      env: BINDINGS=python CC=clang
    - compiler: gcc
      language: perl
      env: BINDINGS=perl
    - compiler: clang
      language: perl
      env: BINDINGS=perl CC=clang
    - compiler: gcc
      language: perl
      env: BINDINGS=perl
    - compiler: clang
      language: perl
      env: BINDINGS=perl CC=clang
    - compiler: gcc
      language: perl
      env: BINDINGS=perl
    - compiler: clang
      language: perl
      env: BINDINGS=perl CC=clang
    - compiler: gcc
      language: php
      php: "5.5"
      env: BINDINGS=php
    - compiler: clang
      language: php
      php: "5.5"
      env: BINDINGS=php CC=clang
    - compiler: gcc
      language: php
      php: "5.4"
      env: BINDINGS=php
    - compiler: clang
      language: php
      php: "5.4"
      env: BINDINGS=php CC=clang
    - compiler: gcc
      language: dotnet
      env: BINDINGS=dotnet
    - compiler: clang
      language: dotnet
      env: BINDINGS=dotnet CC=clang
    - compiler: gcc
      language: cpp
      env: BINDINGS=cpp
    - compiler: clang
      language: cpp
      env: BINDINGS=cpp CC=clang
before_install:
  - sudo apt-get update -qq
  - sudo apt-get install -y lcov
  - gem install coveralls-lcov
  - if [ "$BINDINGS" != "none" ]; then sudo sh -c 'echo "deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list'; sudo apt-get update -qq; sudo apt-get install -yqq swig3.0/trusty-backports; fi
  - if [ "$BINDINGS" == "python" ]; then sudo apt-get install -yqq python-dev; fi
  - if [ "$BINDINGS" == "dotnet" ]; then sudo add-apt-repository ppa:directhex/monoxide -y; sudo apt-get update -qq; sudo apt-get install -yqq mono-devel mono-mcs nunit nunit-console; mozroots --import --sync; fi
  - if [ "$BINDINGS" == "php" ]; then phpenv config-add src/bindings/php/hammer.ini; fi
script:
  - if [ "$BINDINGS" == "none" ]; then scons test --variant=debug --coverage; else scons bindings=$BINDINGS test; fi
  - if [ "$BINDINGS" == "none" ]; then if [ "$CC" == "clang" ]; then llvm-cov gcov -o coverage.info build/debug/src/test_suite.gcda; else lcov --capture --directory build/debug/src --output-file coverage.info; fi; fi
  - coveralls-lcov coverage.info
notifications:
Dan Hirsch's avatar
Dan Hirsch committed
  irc: 
    channels: 
      - "irc.upstandinghackers.com#hammer"
    use_notice: true
    skip_join: true