From 6b3eb7444edbbe8e5603e44a8b14bbd940e727ee Mon Sep 17 00:00:00 2001 From: Wasif Hossain Date: Thu, 1 Aug 2019 23:46:35 +0600 Subject: [PATCH 1/6] Test rails 6.0.0.rc2 on travis --- .travis.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 90bc472e..d9794629 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,7 +16,7 @@ rails_supported_versions: - &rails_5_0 RAILS_VERSION=5.0 - &rails_5_1 RAILS_VERSION=5.1 - &rails_5_2 RAILS_VERSION=5.2 - - &rails_6_0_0_rc1 RAILS_VERSION=6.0.0.rc1 + - &rails_6_0 RAILS_VERSION=6.0.0.rc2 - &rails_master RAILS_VERSION=master cache: @@ -40,7 +40,7 @@ env: - *rails_5_0 - *rails_5_1 - *rails_5_2 - - *rails_6_0_0_rc1 + - *rails_6_0 - *rails_master rvm: @@ -68,10 +68,10 @@ matrix: - { 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 } @@ -95,7 +95,7 @@ matrix: # - { 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_6_0 } # - { rvm: *ruby_head, env: *rails_master } - rvm: jruby-head From c90752772192444d11ed38706ba6e9c429265a50 Mon Sep 17 00:00:00 2001 From: Wasif Hossain Date: Sun, 4 Aug 2019 23:57:33 +0600 Subject: [PATCH 2/6] Use openjdk instead of oraclejdk and jruby 9.1/9.2 https://github.com/jruby/jruby/commit/fa66606a85ce65bba6f7e7a70117782ee4b36711 --- .travis.yml | 39 ++++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index d9794629..0c2b607a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,14 @@ 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_2 RAILS_VERSION=4.2 @@ -57,12 +65,25 @@ 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_VERSION=4.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_9_1, jdk: *jdk_8, env: "RAILS_VERSION=4.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_9_1, jdk: *jdk_8, env: "RAILS_VERSION=5.0 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_9_1, jdk: *jdk_8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_9_1, jdk: *jdk_8, env: "RAILS_VERSION=5.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + + - { rvm: *jruby_9_2, jdk: *jdk_8, env: "RAILS_VERSION=4.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_9_2, jdk: *jdk_8, env: "RAILS_VERSION=5.0 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_9_2, jdk: *jdk_8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_9_2, jdk: *jdk_8, env: "RAILS_VERSION=5.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_9_2, jdk: *jdk_8, env: "RAILS_VERSION=6.0.0.rc2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_9_2, jdk: *jdk_8, env: "RAILS_VERSION=master JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + + - { rvm: *jruby_head, jdk: *jdk_8, env: "RAILS_VERSION=4.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_head, jdk: *jdk_8, env: "RAILS_VERSION=5.0 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_head, jdk: *jdk_8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_head, jdk: *jdk_8, env: "RAILS_VERSION=5.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_head, jdk: *jdk_8, env: "RAILS_VERSION=6.0.0.rc2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { rvm: *jruby_head, jdk: *jdk_8, env: "RAILS_VERSION=master JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } exclude: - { rvm: *ruby_2_1, env: *rails_5_0 } - { rvm: *ruby_2_1, env: *rails_5_1 } @@ -98,7 +119,7 @@ matrix: # - { rvm: *ruby_head, env: *rails_6_0 } # - { 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_1 + - rvm: *jruby_9_2 + - rvm: *jruby_head fast_finish: true From 9db3dd2579c003f771b9efb9b73a25f1b2958748 Mon Sep 17 00:00:00 2001 From: Wasif Hossain Date: Mon, 5 Aug 2019 01:24:10 +0600 Subject: [PATCH 3/6] Use specific jdbcsqlite3 version for certain version of rails https://github.com/jruby/activerecord-jdbc-adapter#activerecord-jdbc-adapter --- Gemfile | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index dc08274e..d3ced1c6 100644 --- a/Gemfile +++ b/Gemfile @@ -61,8 +61,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 From e981ac6c4852f27a322cab63c9f7605b2d06efb7 Mon Sep 17 00:00:00 2001 From: Wasif Hossain Date: Mon, 5 Aug 2019 02:50:03 +0600 Subject: [PATCH 4/6] Require jruby 9.1.x (ruby2.3) and 9.2.x (ruby2.5) to pass on Travis 9.1.x should pass against the following rails versions: - 4.1 - 4.2 - 5.0 - 5.1 - 5.2 9.2.x should pass against the following rails versions: - 4.2 - 5.0 - 5.1 - 5.2 - 6.0 --- .travis.yml | 57 ++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0c2b607a..53ece8b4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,12 +20,19 @@ jdk_supported_versions: 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_5_2_jruby RAILS_VERSION=5.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug' - &rails_6_0 RAILS_VERSION=6.0.0.rc2 + - &rails_6_0_jruby RAILS_VERSION=6.0.0.rc2 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: @@ -65,25 +72,26 @@ branches: matrix: include: - - { rvm: *jruby_9_1, jdk: *jdk_8, env: "RAILS_VERSION=4.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: *jruby_9_1, jdk: *jdk_8, env: "RAILS_VERSION=4.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: *jruby_9_1, jdk: *jdk_8, env: "RAILS_VERSION=5.0 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: *jruby_9_1, jdk: *jdk_8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: *jruby_9_1, jdk: *jdk_8, env: "RAILS_VERSION=5.2 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_VERSION=4.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: *jruby_9_2, jdk: *jdk_8, env: "RAILS_VERSION=5.0 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: *jruby_9_2, jdk: *jdk_8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: *jruby_9_2, jdk: *jdk_8, env: "RAILS_VERSION=5.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: *jruby_9_2, jdk: *jdk_8, env: "RAILS_VERSION=6.0.0.rc2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: *jruby_9_2, jdk: *jdk_8, env: "RAILS_VERSION=master JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } + - { 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 } - - { rvm: *jruby_head, jdk: *jdk_8, env: "RAILS_VERSION=4.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: *jruby_head, jdk: *jdk_8, env: "RAILS_VERSION=5.0 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: *jruby_head, jdk: *jdk_8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: *jruby_head, jdk: *jdk_8, env: "RAILS_VERSION=5.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: *jruby_head, jdk: *jdk_8, env: "RAILS_VERSION=6.0.0.rc2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } - - { rvm: *jruby_head, jdk: *jdk_8, env: "RAILS_VERSION=master JRUBY_OPTS='--dev -J-Xmx1024M --debug'" } exclude: - { rvm: *ruby_2_1, env: *rails_5_0 } - { rvm: *ruby_2_1, env: *rails_5_1 } @@ -104,22 +112,13 @@ matrix: - { 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 } - # - { rvm: *ruby_head, env: *rails_master } - - rvm: *jruby_9_1 - - rvm: *jruby_9_2 + - { rvm: *jruby_9_2, jdk: *jdk_8, env: *rails_master_jruby } + - rvm: *jruby_head + fast_finish: true From 95f4ead7de85d7f3aea67b04c8c98c6bc84818ef Mon Sep 17 00:00:00 2001 From: Wasif Hossain Date: Mon, 5 Aug 2019 03:18:41 +0600 Subject: [PATCH 5/6] Drop support for Ruby 2.4+ against Rails 4.1 from Travis https://stackoverflow.com/questions/41504106/ruby-2-4-and-rails-4-stack-level-too-deep-systemstackerror --- .travis.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 53ece8b4..aa057dc8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -93,6 +93,11 @@ matrix: - { 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 } @@ -108,10 +113,6 @@ 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 } - - { rvm: *ruby_2_5, env: *rails_master } - { rvm: *ruby_2_6, env: *rails_master } From 82ad288fc77724be77799aee73eb61e94c8fd3a2 Mon Sep 17 00:00:00 2001 From: Wasif Hossain Date: Wed, 21 Aug 2019 22:21:31 +0600 Subject: [PATCH 6/6] Add support for Rails 6.0.0 on Travis --- .travis.yml | 4 ++-- Gemfile | 6 ++++++ test/adapter/json/transform_test.rb | 3 +-- test/support/serialization_testing.rb | 4 ++-- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index aa057dc8..074ea456 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,8 +29,8 @@ rails_supported_versions: - &rails_5_1_jruby RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug' - &rails_5_2 RAILS_VERSION=5.2 - &rails_5_2_jruby RAILS_VERSION=5.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug' - - &rails_6_0 RAILS_VERSION=6.0.0.rc2 - - &rails_6_0_jruby RAILS_VERSION=6.0.0.rc2 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' diff --git a/Gemfile b/Gemfile index d3ced1c6..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') 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