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 rvm: ruby-2.1.7 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 rvm: ruby-2.2.3 env: BINDINGS=ruby CC=clang - compiler: gcc language: python python: "2.7.10" env: BINDINGS=python - compiler: clang language: python python: "2.7.10" env: BINDINGS=python CC=clang - compiler: gcc language: perl perl: "5.18" env: BINDINGS=perl - compiler: clang language: perl perl: "5.18" env: BINDINGS=perl CC=clang - compiler: gcc language: perl perl: "5.14" env: BINDINGS=perl - compiler: clang language: perl perl: "5.14" env: BINDINGS=perl CC=clang - compiler: gcc language: perl perl: "5.10" env: BINDINGS=perl - compiler: clang language: perl perl: "5.10" 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 apt-get install -yqq swig/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 install: true before_script: - 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 after_success: - 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: irc: channels: - "irc.upstandinghackers.com#hammer" use_notice: true skip_join: true