diff --git a/.travis.yml b/.travis.yml index 90bc472e..074ea456 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,14 +10,29 @@ ruby_supported_versions: - &ruby_2_6 2.6.3 - &ruby_head ruby-head +jruby_supported_versions: + - &jruby_9_1 jruby-9.1.17.0 + - &jruby_9_2 jruby-9.2.7.0 + - &jruby_head jruby-head + +jdk_supported_versions: + - &jdk_8 openjdk8 + rails_supported_versions: - &rails_4_1 RAILS_VERSION=4.1 + - &rails_4_1_jruby RAILS_VERSION=4.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug' - &rails_4_2 RAILS_VERSION=4.2 + - &rails_4_2_jruby RAILS_VERSION=4.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug' - &rails_5_0 RAILS_VERSION=5.0 + - &rails_5_0_jruby RAILS_VERSION=5.0 JRUBY_OPTS='--dev -J-Xmx1024M --debug' - &rails_5_1 RAILS_VERSION=5.1 + - &rails_5_1_jruby RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug' - &rails_5_2 RAILS_VERSION=5.2 - - &rails_6_0_0_rc1 RAILS_VERSION=6.0.0.rc1 + - &rails_5_2_jruby RAILS_VERSION=5.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug' + - &rails_6_0 RAILS_VERSION=6.0 + - &rails_6_0_jruby RAILS_VERSION=6.0 JRUBY_OPTS='--dev -J-Xmx1024M --debug' - &rails_master RAILS_VERSION=master + - &rails_master_jruby RAILS_VERSION=master JRUBY_OPTS='--dev -J-Xmx1024M --debug' cache: directories: @@ -40,7 +55,7 @@ env: - *rails_5_0 - *rails_5_1 - *rails_5_2 - - *rails_6_0_0_rc1 + - *rails_6_0 - *rails_master rvm: @@ -57,21 +72,40 @@ branches: matrix: include: - - { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=4.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=4.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - # See JRuby currently failing on Rails 5+ https://github.com/jruby/activerecord-jdbc-adapter/issues/708 - # - { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=5.0 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - # - { rvm: jruby-head, jdk: oraclejdk8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_9_1, jdk: *jdk_8, env: *rails_4_1_jruby } + - { rvm: *jruby_9_1, jdk: *jdk_8, env: *rails_4_2_jruby } + - { rvm: *jruby_9_1, jdk: *jdk_8, env: *rails_5_0_jruby } + - { rvm: *jruby_9_1, jdk: *jdk_8, env: *rails_5_1_jruby } + - { rvm: *jruby_9_1, jdk: *jdk_8, env: *rails_5_2_jruby } + + - { rvm: *jruby_9_2, jdk: *jdk_8, env: *rails_4_2_jruby } + - { rvm: *jruby_9_2, jdk: *jdk_8, env: *rails_5_0_jruby } + - { rvm: *jruby_9_2, jdk: *jdk_8, env: *rails_5_1_jruby } + - { rvm: *jruby_9_2, jdk: *jdk_8, env: *rails_5_2_jruby } + - { rvm: *jruby_9_2, jdk: *jdk_8, env: *rails_6_0_jruby } + - { rvm: *jruby_9_2, jdk: *jdk_8, env: *rails_master_jruby } + + - { rvm: *jruby_head, jdk: *jdk_8, env: *rails_4_2_jruby } + - { rvm: *jruby_head, jdk: *jdk_8, env: *rails_5_0_jruby } + - { rvm: *jruby_head, jdk: *jdk_8, env: *rails_5_1_jruby } + - { rvm: *jruby_head, jdk: *jdk_8, env: *rails_5_2_jruby } + - { rvm: *jruby_head, jdk: *jdk_8, env: *rails_6_0_jruby } + - { rvm: *jruby_head, jdk: *jdk_8, env: *rails_master_jruby } + exclude: + - { rvm: *ruby_2_4, env: *rails_4_1 } + - { rvm: *ruby_2_5, env: *rails_4_1 } + - { rvm: *ruby_2_6, env: *rails_4_1 } + - { rvm: *ruby_head, env: *rails_4_1 } + - { rvm: *ruby_2_1, env: *rails_5_0 } - { rvm: *ruby_2_1, env: *rails_5_1 } - { rvm: *ruby_2_1, env: *rails_5_2 } - - { rvm: *ruby_2_1, env: *rails_6_0_0_rc1 } - - { rvm: *ruby_2_2, env: *rails_6_0_0_rc1 } - - { rvm: *ruby_2_3, env: *rails_6_0_0_rc1 } - - { rvm: *ruby_2_4, env: *rails_6_0_0_rc1 } + - { rvm: *ruby_2_1, env: *rails_6_0 } + - { rvm: *ruby_2_2, env: *rails_6_0 } + - { rvm: *ruby_2_3, env: *rails_6_0 } + - { rvm: *ruby_2_4, env: *rails_6_0 } - { rvm: *ruby_2_1, env: *rails_master } - { rvm: *ruby_2_2, env: *rails_master } @@ -79,26 +113,13 @@ matrix: - { rvm: *ruby_2_4, env: *rails_master } allow_failures: - - { rvm: *ruby_2_4, env: *rails_4_1 } - - { rvm: *ruby_2_5, env: *rails_4_1 } - - { rvm: *ruby_2_6, env: *rails_4_1 } - - # allow RAILS_VERSION=master to fail against ruby 2.5+ until this gem supports RAILS_VERSION - # https://github.com/rails/rails/blob/master/RAILS_VERSION - # https://github.com/rails-api/active_model_serializers/blob/0-10-stable/active_model_serializers.gemspec#L24 - { rvm: *ruby_2_5, env: *rails_master } - { rvm: *ruby_2_6, env: *rails_master } - rvm: *ruby_head - # - { rvm: *ruby_head, env: *rails_4_1 } - # - { rvm: *ruby_head, env: *rails_4_2 } - # - { rvm: *ruby_head, env: *rails_5_0 } - # - { rvm: *ruby_head, env: *rails_5_1 } - # - { rvm: *ruby_head, env: *rails_5_2 } - # - { rvm: *ruby_head, env: *rails_6_0_0_rc1 } - # - { rvm: *ruby_head, env: *rails_master } - - rvm: jruby-head - # See JRuby currently failing on Rails 5+ https://github.com/jruby/activerecord-jdbc-adapter/issues/708 - - { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_9_2, jdk: *jdk_8, env: *rails_master_jruby } + + - rvm: *jruby_head + fast_finish: true diff --git a/Gemfile b/Gemfile index dc08274e..eece3227 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,12 @@ # frozen_string_literal: true source 'https://rubygems.org' + +git_source(:github) do |repo_name| + repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?('/') + "https://github.com/#{repo_name}.git" +end + # # Add a Gemfile.local to locally bundle gems outside of version control local_gemfile = File.join(File.expand_path('..', __FILE__), 'Gemfile.local') @@ -61,8 +67,14 @@ group :test do end end platforms :jruby do - if version == 'master' || version >= '5' - gem 'activerecord-jdbcsqlite3-adapter', '~> 50' + if version == 'master' || version >= '6.0' + gem 'activerecord-jdbcsqlite3-adapter', github: 'jruby/activerecord-jdbc-adapter' + elsif version == '5.2' + gem 'activerecord-jdbcsqlite3-adapter', '~> 52.0' + elsif version == '5.1' + gem 'activerecord-jdbcsqlite3-adapter', '~> 51.0' + elsif version == '5.0' + gem 'activerecord-jdbcsqlite3-adapter', '~> 50.0' else gem 'activerecord-jdbcsqlite3-adapter', '~> 1.3.0' end diff --git a/test/adapter/json/transform_test.rb b/test/adapter/json/transform_test.rb index 66b225d9..5035c2d7 100644 --- a/test/adapter/json/transform_test.rb +++ b/test/adapter/json/transform_test.rb @@ -56,9 +56,8 @@ module ActiveModelSerializers def test_transform_undefined mock_request(:blam) - result = nil assert_raises NoMethodError do - result = @adapter.serializable_hash + @adapter.serializable_hash end end diff --git a/test/support/serialization_testing.rb b/test/support/serialization_testing.rb index 65730ffc..ada7fa3b 100644 --- a/test/support/serialization_testing.rb +++ b/test/support/serialization_testing.rb @@ -20,11 +20,11 @@ module SerializationTesting end def with_prepended_lookup(lookup_proc) - original_lookup = ActiveModelSerializers.config.serializer_lookup_cahin + original_lookup = ActiveModelSerializers.config.serializer_lookup_chain ActiveModelSerializers.config.serializer_lookup_chain.unshift lookup_proc yield ensure - ActiveModelSerializers.config.serializer_lookup_cahin = original_lookup + ActiveModelSerializers.config.serializer_lookup_chain = original_lookup end # Aliased as :with_configured_adapter to clarify that