language: ruby

cache:
  bundler: true
  directories:
  - vendor/bundle

rvm:
  - 2.2.2
  - 2.1.6
  - 2.0.0
  - 1.9.3
  - 1.8.7
  - ree
  - jruby-19mode

gemfile:
  - gemfiles/libraries.gemfile
  - gemfiles/frameworks.gemfile
  - gemfiles/rails30.gemfile
  - gemfiles/rails31.gemfile
  - gemfiles/rails32.gemfile
  - gemfiles/rails40.gemfile
  - gemfiles/rails41.gemfile
  - gemfiles/rails42.gemfile

matrix:
  exclude:
    # Rails 4.0+ requires Ruby 1.9.3 or higher
    - rvm: 1.8.7
      gemfile: gemfiles/rails40.gemfile
    - rvm: 1.8.7
      gemfile: gemfiles/rails41.gemfile
    - rvm: 1.8.7
      gemfile: gemfiles/rails42.gemfile
    - rvm: ree
      gemfile: gemfiles/rails40.gemfile
    - rvm: ree
      gemfile: gemfiles/rails41.gemfile
    - rvm: ree
      gemfile: gemfiles/rails42.gemfile

    # Other frameworks tested on Ruby 1.9.3 or higher
    - rvm: 1.8.7
      gemfile: gemfiles/frameworks.gemfile
    - rvm: ree
      gemfile: gemfiles/frameworks.gemfile

  allow_failures:
    # FIXME: Until the joboe test reporter supports cross thread
    # event collection.
    - rvm: jruby-19mode

# Attempt Travis/Cassandra fix re: https://github.com/travis-ci/travis-ci/issues/1484
# Updated Cassandra: https://github.com/travis-ci/travis-ci/issues/1650
before_install:
  - gem update --system
  - gem update bundler
  - gem --version
  - sudo sh -c "echo 'JVM_OPTS=\"\${JVM_OPTS} -Djava.net.preferIPv4Stack=false\"' >> /usr/local/cassandra/conf/cassandra-env.sh"
  - echo "127.0.0.1 localhost"  | sudo tee /etc/hosts
  - echo "127.0.0.1 " `hostname` | sudo tee /etc/hosts
  - sudo service cassandra start

install:
  - wget https://www.tracelytics.com/install_tracelytics.sh
  - sudo sh ./install_tracelytics.sh f51e2a43-0ee5-4851-8a54-825773b3218e
  - sudo apt-get install -y tracelytics-java-agent

before_script:
  - bundle install --jobs=3 --retry=3 --without development
  - bundle exec rake compile
  - psql -c 'create database travis_ci_test;' -U postgres
  - mysql -e 'create database travis_ci_test;'
  - sleep 10

script: "bundle exec rake test"

services:
  - mongodb
  - memcached
  - cassandra
  - redis