Skip to content
Snippets Groups Projects
.travis.yml 3.22 KiB
Newer Older
language: c
compiler:
  - gcc
  - clang
env:
  - BINDINGS=none
matrix:
  include:
    - compiler: gcc
      language: ruby
      rvm: ruby-1.9.3-p484
      env: BINDINGS=ruby
    - compiler: clang
      language: ruby
      rvm: ruby-1.9.3-p484
      env: BINDINGS=ruby CC=clang
    - compiler: gcc
      language: ruby
      rvm: ruby-2.0.0-p353
      env: BINDINGS=ruby
    - compiler: clang
      language: ruby
      rvm: ruby-2.0.0-p353
      env: BINDINGS=ruby CC=clang
    - compiler: gcc
      language: ruby
      rvm: ruby-2.1.0
      env: BINDINGS=ruby
    - compiler: clang
      language: ruby
      rvm: ruby-2.1.0
      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: gcc
      language: cpp
      env: BINDINGS=cpp CC=clang
before_install:
  - sudo apt-get update -qq
Nicolas Léveillé's avatar
Nicolas Léveillé committed
  - sudo apt-get install -y lcov
  - gem install coveralls-lcov
  - if [ "$BINDINGS" != "none" ]; then sudo apt-get install -qq swig; fi
  - if [ "$BINDINGS" == "perl" ]; then sudo add-apt-repository ppa:dns/irc -y; sudo apt-get update -qq; sudo apt-get install -qq swig=2.0.8-1irc1~12.04; fi
  - if [ "$BINDINGS" == "python" ]; then sudo apt-get install -qq python-dev; fi
Nicolas Léveillé's avatar
Nicolas Léveillé committed
  - if [ "$BINDINGS" == "dotnet" ]; then sudo add-apt-repository ppa:directhex/monoxide -y; sudo apt-get update -qq; sudo apt-get install -y -qq 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