sudo: false dist: trusty services: - redis-server language: ruby rvm: - 1.9.3 - 2.0.0 - 2.1.0 - 2.2.2 - 2.3.8 - 2.4.5 - 2.5.3 - 2.6.5 - 2.7.0 - rbx # Travis's own rvm installer is failing on JRuby builds, TODO: reenable when fixed. # - jruby-9.1.9.0 # # # About legacy JRuby # # Legacy JRubies (jruby-18mode, jruby-19mode) have been disabled for some time by # listing all possible targets in either the exclude or allow_failures sections. # I have taken a look at getting them running, and have found that no valid # combination of dependencies is possible for Rails 3.0 and higher. It appears # Rails 2.2 is meant to work, though I haven't tried it. # # For Rails 3.0, it is possible to get a working bundle with all gem dependencies, # but the JDBC adapter gem needs an earlier version of ActiveSupport, and it will # fail at runtime. # # For Rails 3.1 and 3.2, Rack 1.3.x and higher require Ruby 2.x, while Rails 3.x will # not accept any 1.2.x version of Rack. Even if this could be resolved, one would # hit the above runtime issue amyway. # # # About current JRuby # # While current JRuby builds aim to be Ruby 2.5.x compatible, the JDBC adapter # gem is constrained to only Rails 5.0, 5.1 and 5.2 at this time. (Old versions # of the gem allow >= Rails 2.2, but in practice it will not work with Rails 3.0 # and higher because of the ActiveSupport issue described above.) For as long as # the test suite relies on Rails and SqlLite, it is not possible to include # earlier Rails for JRuby. jdk: # These are the JDKs currently supported on Travis (Trusty - Ubuntu 14.04) - openjdk7 - openjdk8 - oraclejdk8 - oraclejdk9 gemfile: - gemfiles/rails30.gemfile - gemfiles/rails31.gemfile - gemfiles/rails32.gemfile - gemfiles/rails40.gemfile - gemfiles/rails41.gemfile - gemfiles/rails42.gemfile - gemfiles/rails50.gemfile - gemfiles/rails51.gemfile - gemfiles/rails52.gemfile - gemfiles/rails60.gemfile matrix: include: [] allow_failures: - rvm: ruby-head - rvm: jruby-head # oraclejdk9 has a dependency issue that needs to be investigated - jdk: oraclejdk9 exclude: # Don't run tests for non-jruby environments with the JDK. # NOTE: openjdk7 is missing from these exclusions so that Travis will run at least 1 build for the given rvm. - rvm: 1.9.3 jdk: openjdk8 - rvm: 1.9.3 jdk: oraclejdk8 - rvm: 1.9.3 jdk: oraclejdk9 - rvm: 2.0.0 jdk: openjdk8 - rvm: 2.0.0 jdk: oraclejdk8 - rvm: 2.0.0 jdk: oraclejdk9 - rvm: 2.1.0 jdk: openjdk8 - rvm: 2.1.0 jdk: oraclejdk8 - rvm: 2.1.0 jdk: oraclejdk9 - rvm: 2.2.2 jdk: openjdk8 - rvm: 2.2.2 jdk: oraclejdk8 - rvm: 2.2.2 jdk: oraclejdk9 - rvm: 2.3.8 jdk: openjdk8 - rvm: 2.3.8 jdk: oraclejdk8 - rvm: 2.3.8 jdk: oraclejdk9 - rvm: 2.4.5 jdk: openjdk8 - rvm: 2.4.5 jdk: oraclejdk8 - rvm: 2.4.5 jdk: oraclejdk9 - rvm: 2.5.3 jdk: openjdk8 - rvm: 2.5.3 jdk: oraclejdk8 - rvm: 2.5.3 jdk: oraclejdk9 - rvm: 2.6.5 jdk: openjdk8 - rvm: 2.6.5 jdk: oraclejdk8 - rvm: 2.6.5 jdk: oraclejdk9 - rvm: 2.7.0 jdk: openjdk8 - rvm: 2.7.0 jdk: oraclejdk8 - rvm: 2.7.0 jdk: oraclejdk9 - rvm: ruby-head jdk: openjdk8 - rvm: ruby-head jdk: oraclejdk8 - rvm: ruby-head jdk: oraclejdk9 - rvm: rbx jdk: openjdk8 - rvm: rbx jdk: oraclejdk8 - rvm: rbx jdk: oraclejdk9 # Rails 6.x requires Ruby 2.5.0 or higher - rvm: 2.2.2 gemfile: gemfiles/rails60.gemfile - rvm: 2.3.8 gemfile: gemfiles/rails60.gemfile - rvm: 2.4.5 gemfile: gemfiles/rails60.gemfile # Rails 5.x requires Ruby 2.2.2 or higher - rvm: 1.9.3 gemfile: gemfiles/rails50.gemfile - rvm: 1.9.3 gemfile: gemfiles/rails51.gemfile - rvm: 1.9.3 gemfile: gemfiles/rails52.gemfile - rvm: 1.9.3 gemfile: gemfiles/rails60.gemfile # Rails 5.x requires Ruby 2.2.2 or higher - rvm: 2.0.0 gemfile: gemfiles/rails50.gemfile - rvm: 2.0.0 gemfile: gemfiles/rails51.gemfile - rvm: 2.0.0 gemfile: gemfiles/rails52.gemfile - rvm: 2.0.0 gemfile: gemfiles/rails60.gemfile # Rails 5.x requires Ruby 2.2.2 or higher - rvm: 2.1.0 gemfile: gemfiles/rails50.gemfile - rvm: 2.1.0 gemfile: gemfiles/rails51.gemfile - rvm: 2.1.0 gemfile: gemfiles/rails52.gemfile - rvm: 2.1.0 gemfile: gemfiles/rails60.gemfile # MRI 2.2.2 supports Rails 3.2.x and higher, except Rails 5.2.4 and higher* # * ActionDispatch 5.2.4 uses Ruby 3.x safe navigation operator. - rvm: 2.2.2 gemfile: gemfiles/rails30.gemfile - rvm: 2.2.2 gemfile: gemfiles/rails31.gemfile - rvm: 2.2.2 gemfile: gemfiles/rails52.gemfile # MRI 2.3.x supports Rails 4.0.x and higher - rvm: 2.3.8 gemfile: gemfiles/rails30.gemfile - rvm: 2.3.8 gemfile: gemfiles/rails31.gemfile - rvm: 2.3.8 gemfile: gemfiles/rails32.gemfile - rvm: 2.3.8 gemfile: gemfiles/rails40.gemfile - rvm: 2.3.8 gemfile: gemfiles/rails41.gemfile # MRI 2.4.x and higher (e.g. 2.5.x, 2.6.x, etc) supports Rails 4.2.8 and higher # Rails lower than 4.2.8 is incompatible with Ruby 2.4 Integer class - rvm: 2.4.5 gemfile: gemfiles/rails30.gemfile - rvm: 2.4.5 gemfile: gemfiles/rails31.gemfile - rvm: 2.4.5 gemfile: gemfiles/rails32.gemfile - rvm: 2.4.5 gemfile: gemfiles/rails40.gemfile - rvm: 2.4.5 gemfile: gemfiles/rails41.gemfile - rvm: 2.5.3 gemfile: gemfiles/rails30.gemfile - rvm: 2.5.3 gemfile: gemfiles/rails31.gemfile - rvm: 2.5.3 gemfile: gemfiles/rails32.gemfile - rvm: 2.5.3 gemfile: gemfiles/rails40.gemfile - rvm: 2.5.3 gemfile: gemfiles/rails41.gemfile - rvm: 2.6.5 gemfile: gemfiles/rails30.gemfile - rvm: 2.6.5 gemfile: gemfiles/rails31.gemfile - rvm: 2.6.5 gemfile: gemfiles/rails32.gemfile - rvm: 2.6.5 gemfile: gemfiles/rails40.gemfile - rvm: 2.6.5 gemfile: gemfiles/rails41.gemfile - rvm: 2.6.5 gemfile: gemfiles/rails42.gemfile # Rails 6.x tries to be compatible with Ruby 2.7, though # it still throws a lot of warnings. No point testing earlier # Rails with Ruby 2.7. - rvm: 2.7.0 gemfile: gemfiles/rails30.gemfile - rvm: 2.7.0 gemfile: gemfiles/rails31.gemfile - rvm: 2.7.0 gemfile: gemfiles/rails32.gemfile - rvm: 2.7.0 gemfile: gemfiles/rails40.gemfile - rvm: 2.7.0 gemfile: gemfiles/rails41.gemfile - rvm: 2.7.0 gemfile: gemfiles/rails42.gemfile - rvm: 2.7.0 gemfile: gemfiles/rails50.gemfile - rvm: 2.7.0 gemfile: gemfiles/rails51.gemfile - rvm: 2.7.0 gemfile: gemfiles/rails52.gemfile # JRuby JDBC Adapter is only compatible with Rails >= 5.x - rvm: jruby-9.1.9.0 gemfile: gemfiles/rails30.gemfile - rvm: jruby-9.1.9.0 gemfile: gemfiles/rails31.gemfile - rvm: jruby-9.1.9.0 gemfile: gemfiles/rails32.gemfile - rvm: jruby-9.1.9.0 gemfile: gemfiles/rails40.gemfile - rvm: jruby-9.1.9.0 gemfile: gemfiles/rails41.gemfile - rvm: jruby-9.1.9.0 gemfile: gemfiles/rails42.gemfile - rvm: rbx gemfile: gemfiles/rails30.gemfile - rvm: rbx gemfile: gemfiles/rails31.gemfile - rvm: rbx gemfile: gemfiles/rails32.gemfile - rvm: rbx gemfile: gemfiles/rails40.gemfile - rvm: rbx gemfile: gemfiles/rails41.gemfile - rvm: rbx gemfile: gemfiles/rails42.gemfile - rvm: rbx gemfile: gemfiles/rails50.gemfile - rvm: rbx gemfile: gemfiles/rails51.gemfile - rvm: rbx gemfile: gemfiles/rails52.gemfile - rvm: rbx gemfile: gemfiles/rails60.gemfile