services: - mysql - redis-server - memcached - rabbitmq language: ruby sudo: required before_install: # RUBY-2072 Prevent Travis setup failure before our test even starts - sudo rm -f /etc/apt/sources.list.d/travis_ci_zeromq3.list - gem --version - ./test/script/before_install/update_rubygems.sh - gem uninstall bundler -a -x - gem install bundler -v=1.17.3 - ./test/script/before_install/gemstash_mirror.sh - bundle _1.17.3_ --version install: bundle _1.17.3_ install addons: apt: update: true packages: - openssl - libssl-dev - build-essential - haveged before_script: ./test/script/before_script/install_mongodb.sh script: ./test/script/ci.sh branches: only: - master - dev - release notifications: webhooks: http://notifitron.herokuapp.com/ on_success: always on_failure: always rvm: # Run slowest builds first to try and optimize overall cycle time. - jruby-9.1.13.0 - 2.6.0 - 2.5.0 - 2.4.2 - 2.3.5 - 2.2.8 - 2.1.10 - 2.0.0-p648 env: global: - BUNDLE_PATH=/home/travis/bundle - MONGODB=2.6.11 - JAVA_OPTS="-XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xmx640m" - JRUBY_OPTS="-Xcompile.invokedynamic=false -J-Djruby.compile.mode=OFF" - RBXOPT="-Xcompiler.no_rbc -Xint" - SERIALIZE=1 - TESTOPTS="-v" - VERBOSE = 1 matrix: # RUBY-1668 rails21, rails22, and rails23 are all excluded below - TYPE=UNIT ENVIRONMENT=rails21 - TYPE=UNIT ENVIRONMENT=rails22 - TYPE=UNIT ENVIRONMENT=rails23 - TYPE=UNIT ENVIRONMENT=rails30 - TYPE=UNIT ENVIRONMENT=rails31 - TYPE=UNIT ENVIRONMENT=rails32 - TYPE=UNIT ENVIRONMENT=rails40 - TYPE=UNIT ENVIRONMENT=rails41 - TYPE=UNIT ENVIRONMENT=rails42 - TYPE=UNIT ENVIRONMENT=rails50 - TYPE=UNIT ENVIRONMENT=rails51 - TYPE=UNIT ENVIRONMENT=norails - TYPE=FUNCTIONAL GROUP=agent - TYPE=FUNCTIONAL GROUP=api - TYPE=FUNCTIONAL GROUP=background - TYPE=FUNCTIONAL GROUP=database - TYPE=FUNCTIONAL GROUP=httpclients - TYPE=FUNCTIONAL GROUP=rails - TYPE=FUNCTIONAL GROUP=serialization - TYPE=FUNCTIONAL GROUP=sinatra - TYPE=FUNCTIONAL GROUP=rest - TYPE=FUNCTIONAL GROUP=background_2 - TYPE=NULLVERSE matrix: fast_finish: true exclude: # Unsupported Rails/Ruby combinations # 2.6 - rvm: 2.6.0 env: TYPE=UNIT ENVIRONMENT=rails21 - rvm: 2.6.0 env: TYPE=UNIT ENVIRONMENT=rails22 - rvm: 2.6.0 env: TYPE=UNIT ENVIRONMENT=rails23 - rvm: 2.6.0 env: TYPE=UNIT ENVIRONMENT=rails30 - rvm: 2.6.0 env: TYPE=UNIT ENVIRONMENT=rails31 - rvm: 2.6.0 env: TYPE=UNIT ENVIRONMENT=rails32 - rvm: 2.6.0 env: TYPE=UNIT ENVIRONMENT=rails40 - rvm: 2.6.0 env: TYPE=UNIT ENVIRONMENT=rails41 # 2.5 - rvm: 2.5.0 env: TYPE=UNIT ENVIRONMENT=rails21 - rvm: 2.5.0 env: TYPE=UNIT ENVIRONMENT=rails22 - rvm: 2.5.0 env: TYPE=UNIT ENVIRONMENT=rails23 - rvm: 2.5.0 env: TYPE=UNIT ENVIRONMENT=rails30 - rvm: 2.5.0 env: TYPE=UNIT ENVIRONMENT=rails31 - rvm: 2.5.0 env: TYPE=UNIT ENVIRONMENT=rails32 - rvm: 2.5.0 env: TYPE=UNIT ENVIRONMENT=rails40 - rvm: 2.5.0 env: TYPE=UNIT ENVIRONMENT=rails41 # 2.4 - rvm: 2.4.2 env: TYPE=UNIT ENVIRONMENT=rails21 - rvm: 2.4.2 env: TYPE=UNIT ENVIRONMENT=rails22 - rvm: 2.4.2 env: TYPE=UNIT ENVIRONMENT=rails23 - rvm: 2.4.2 env: TYPE=UNIT ENVIRONMENT=rails30 - rvm: 2.4.2 env: TYPE=UNIT ENVIRONMENT=rails31 - rvm: 2.4.2 env: TYPE=UNIT ENVIRONMENT=rails32 - rvm: 2.4.2 env: TYPE=UNIT ENVIRONMENT=rails40 - rvm: 2.4.2 env: TYPE=UNIT ENVIRONMENT=rails41 # 2.3 - rvm: 2.3.5 env: TYPE=UNIT ENVIRONMENT=rails21 - rvm: 2.3.5 env: TYPE=UNIT ENVIRONMENT=rails22 - rvm: 2.3.5 env: TYPE=UNIT ENVIRONMENT=rails23 # 2.2 - rvm: 2.2.8 env: TYPE=UNIT ENVIRONMENT=rails21 - rvm: 2.2.8 env: TYPE=UNIT ENVIRONMENT=rails22 - rvm: 2.2.8 env: TYPE=UNIT ENVIRONMENT=rails23 # 2.1 - rvm: 2.1.10 env: TYPE=UNIT ENVIRONMENT=rails21 - rvm: 2.1.10 env: TYPE=UNIT ENVIRONMENT=rails22 - rvm: 2.1.10 env: TYPE=UNIT ENVIRONMENT=rails23 - rvm: 2.1.10 env: TYPE=UNIT ENVIRONMENT=rails50 - rvm: 2.1.10 env: TYPE=UNIT ENVIRONMENT=rails51 # 2.0 - rvm: 2.0.0-p648 env: TYPE=UNIT ENVIRONMENT=rails21 - rvm: 2.0.0-p648 env: TYPE=UNIT ENVIRONMENT=rails22 - rvm: 2.0.0-p648 env: TYPE=UNIT ENVIRONMENT=rails23 - rvm: 2.0.0-p648 env: TYPE=UNIT ENVIRONMENT=rails50 - rvm: 2.0.0-p648 env: TYPE=UNIT ENVIRONMENT=rails51 # jruby 9.0 - rvm: jruby-9.1.13.0 env: TYPE=UNIT ENVIRONMENT=rails21 - rvm: jruby-9.1.13.0 env: TYPE=UNIT ENVIRONMENT=rails22 - rvm: jruby-9.1.13.0 env: TYPE=UNIT ENVIRONMENT=rails23 - rvm: jruby-9.1.13.0 env: TYPE=UNIT ENVIRONMENT=rails30 - rvm: jruby-9.1.13.0 env: TYPE=UNIT ENVIRONMENT=rails31 - rvm: jruby-9.1.13.0 env: TYPE=UNIT ENVIRONMENT=rails32 # Travis (and only Travis) has been throwing difficult-to-reproduce # errors in various JRuby tests. These appeared after a build image # update, and they seem to be unrelated to any agent code changes. # So, we'll allow these specific test runs to fail while we track # the issue (RUBY-1869). # allow_failures: - rvm: jruby-9.1.13.0 env: TYPE=UNIT ENVIRONMENT=rails40 - rvm: jruby-9.1.13.0 env: TYPE=UNIT ENVIRONMENT=rails41 - rvm: jruby-9.1.13.0 env: TYPE=UNIT ENVIRONMENT=rails42 - rvm: jruby-9.1.13.0 env: TYPE=UNIT ENVIRONMENT=rails50 - rvm: jruby-9.1.13.0 env: TYPE=UNIT ENVIRONMENT=rails51 - rvm: jruby-9.1.13.0 env: TYPE=UNIT ENVIRONMENT=norails - rvm: jruby-9.1.13.0 env: TYPE=FUNCTIONAL GROUP=background_2