services: - mysql - redis-server - memcached - rabbitmq language: ruby sudo: required before_install: # RUBY-2072 Prevent Travis setup failure before our test even starts - jdk_switcher use oraclejdk8 - sudo rm -f /etc/apt/sources.list.d/travis_ci_zeromq3.list - gem --version - ./test/script/before_install/update_rubygems.sh - rvm @global do gem uninstall bundler --all --executables || true - gem install bundler -v=1.17.3 - ./test/script/before_install/gemstash_mirror.sh - bundle --version install: bundle 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.2.6.0 - 2.6.1 - 2.5.3 - 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: - 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=rails60 - 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.1 env: TYPE=UNIT ENVIRONMENT=rails30 - rvm: 2.6.1 env: TYPE=UNIT ENVIRONMENT=rails31 - rvm: 2.6.1 env: TYPE=UNIT ENVIRONMENT=rails32 - rvm: 2.6.1 env: TYPE=UNIT ENVIRONMENT=rails40 - rvm: 2.6.1 env: TYPE=UNIT ENVIRONMENT=rails41 # 2.5 - rvm: 2.5.3 env: TYPE=UNIT ENVIRONMENT=rails30 - rvm: 2.5.3 env: TYPE=UNIT ENVIRONMENT=rails31 - rvm: 2.5.3 env: TYPE=UNIT ENVIRONMENT=rails32 - rvm: 2.5.3 env: TYPE=UNIT ENVIRONMENT=rails40 - rvm: 2.5.3 env: TYPE=UNIT ENVIRONMENT=rails41 # 2.4 - 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 - rvm: 2.4.2 env: TYPE=UNIT ENVIRONMENT=rails60 # 2.3 - rvm: 2.3.5 env: TYPE=UNIT ENVIRONMENT=rails60 # 2.2 - rvm: 2.2.8 env: TYPE=UNIT ENVIRONMENT=rails60 # 2.1 - rvm: 2.1.10 env: TYPE=UNIT ENVIRONMENT=rails50 - rvm: 2.1.10 env: TYPE=UNIT ENVIRONMENT=rails51 - rvm: 2.1.10 env: TYPE=UNIT ENVIRONMENT=rails60 # 2.0 - rvm: 2.0.0-p648 env: TYPE=UNIT ENVIRONMENT=rails50 - rvm: 2.0.0-p648 env: TYPE=UNIT ENVIRONMENT=rails51 - rvm: 2.0.0-p648 env: TYPE=UNIT ENVIRONMENT=rails60 # jruby 9.2.6.0 (Compatible with MRI 2.5) - rvm: jruby-9.2.6.0 env: TYPE=UNIT ENVIRONMENT=rails30 - rvm: jruby-9.2.6.0 env: TYPE=UNIT ENVIRONMENT=rails31 - rvm: jruby-9.2.6.0 env: TYPE=UNIT ENVIRONMENT=rails32 - rvm: jruby-9.2.6.0 env: TYPE=UNIT ENVIRONMENT=rails40 - rvm: jruby-9.2.6.0 env: TYPE=UNIT ENVIRONMENT=rails41 - rvm: jruby-9.2.6.0 env: TYPE=UNIT ENVIRONMENT=rails60