language: ruby cache: bundler: true directories: - vendor/bundle rvm: - 2.5.0 - 2.4.3 - 2.3.6 - 1.9.3 # soon not supported anymore # - jruby-9.0.5.0 gemfile: - gemfiles/noop.gemfile - gemfiles/libraries.gemfile - gemfiles/instrumentation_mocked.gemfile - gemfiles/instrumentation_mocked_oldgems.gemfile - gemfiles/frameworks.gemfile # - gemfiles/rails32.gemfile # We currently are not supporting Rails 3.2 - gemfiles/rails42.gemfile # - gemfiles/rails50.gemfile - gemfiles/rails51.gemfile - gemfiles/delayed_job.gemfile env: - DBTYPE=mysql - DBTYPE=mysql2 - DBTYPE=postgresql matrix: exclude: - rvm: 2.5.0 env: DBTYPE=mysql - rvm: 2.4.3 env: DBTYPE=mysql - gemfile: gemfiles/noop.gemfile env: DBTYPE=mysql - gemfile: gemfiles/libraries.gemfile env: DBTYPE=mysql - gemfile: gemfiles/instrumentation_mocked.gemfile env: DBTYPE=mysql - gemfile: gemfiles/instrumentation_mocked_oldgems.gemfile env: DBTYPE=mysql - gemfile: gemfiles/frameworks.gemfile env: DBTYPE=mysql - gemfile: gemfiles/rails51.gemfile env: DBTYPE=mysql - gemfile: gemfiles/delayed_job.gemfile env: DBTYPE=mysql - gemfile: gemfiles/noop.gemfile env: DBTYPE=mysql2 - gemfile: gemfiles/libraries.gemfile env: DBTYPE=mysql2 - gemfile: gemfiles/instrumentation_mocked.gemfile env: DBTYPE=mysql2 - gemfile: gemfiles/instrumentation_mocked_oldgems.gemfile env: DBTYPE=mysql2 - gemfile: gemfiles/frameworks.gemfile env: DBTYPE=mysql2 - gemfile: gemfiles/delayed_job.gemfile env: DBTYPE=mysql2 # Rails 3.2 is not compatible with Ruby >= 2.4 # We currently are not supporting Rails 3.2 - rvm: 2.5.0 gemfile: gemfiles/rails32.gemfile - rvm: 2.4.3 gemfile: gemfiles/rails32.gemfile # Rails 5 requires Ruby >= 2.2 - rvm: 1.9.3 gemfile: gemfiles/rails50.gemfile - rvm: 1.9.3 gemfile: gemfiles/rails51.gemfile # WebMock requires Ruby 2.0 or higher - rvm: 1.9.3 gemfile: gemfiles/instrumentation_mocked.gemfile - rvm: 1.9.3 gemfile: gemfiles/instrumentation_mocked_oldgems.gemfile # - rvm: jruby-9.0.5.0 # gemfile: gemfiles/delayed_job.gemfile # Skip testing on JRuby until activerecord-jdbc supports Rails 5.0 # - rvm: jruby-9.0.5.0 # gemfile: gemfiles/rails50.gemfile # FIXME: Figure out if this is still an issue when reviewing cassandra test setup # 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: - sudo service cassandra stop - sudo sh -c "echo 'JVM_OPTS=\"\${JVM_OPTS} -Djava.net.preferIPv4Stack=false\"' >> /etc/cassandra/cassandra-env.sh" - echo "127.0.0.1 localhost" | sudo tee /etc/hosts - echo "127.0.0.1 " `hostname` | sudo tee -a /etc/hosts - sudo service cassandra start install: - curl -LO http://kent.dl.sourceforge.net/project/swig/swig/swig-3.0.8/swig-3.0.8.tar.gz - tar xzf swig-3.0.8.tar.gz - pushd swig-3.0.8 - ./configure && make && sudo make install - popd before_script: - bundle install --jobs=3 --retry=3 --without development - bundle exec rake fetch_ext_deps - bundle exec rake clean - bundle exec rake compile - psql -c 'create database travis_ci_test;' -U postgres - mysql -e 'create database travis_ci_test;' - sleep 10 script: "N=1 bundle exec rake test" services: - mongodb - memcached - cassandra - redis - rabbitmq