Test against Rails main and remove `ActiveSupport::Dependencies.reference` (#5357)
Remove `ActiveSupport::Dependencies.reference`
This was deleted from Rails: 14d4edd7c3
As far as I can tell, it was meant to add a performance boost at some point in the past but doesn't seem to do anything useful these days.
This commit is contained in:
parent
366a428b2c
commit
b39faffde4
|
@ -7,6 +7,8 @@ jobs:
|
||||||
matrix:
|
matrix:
|
||||||
gemfile:
|
gemfile:
|
||||||
- Gemfile
|
- Gemfile
|
||||||
|
- gemfiles/Gemfile-rails-main
|
||||||
|
- gemfiles/Gemfile-rails-6-1
|
||||||
- gemfiles/Gemfile-rails-6-0
|
- gemfiles/Gemfile-rails-6-0
|
||||||
- gemfiles/Gemfile-rails-5-2
|
- gemfiles/Gemfile-rails-5-2
|
||||||
- gemfiles/Gemfile-rails-5-1
|
- gemfiles/Gemfile-rails-5-1
|
||||||
|
@ -30,6 +32,10 @@ jobs:
|
||||||
gemfile: Gemfile
|
gemfile: Gemfile
|
||||||
- ruby: 2.1
|
- ruby: 2.1
|
||||||
gemfile: gemfiles/Gemfile-rails-6-0
|
gemfile: gemfiles/Gemfile-rails-6-0
|
||||||
|
- ruby: 2.1
|
||||||
|
gemfile: gemfiles/Gemfile-rails-6-1
|
||||||
|
- ruby: 2.1
|
||||||
|
gemfile: gemfiles/Gemfile-rails-main
|
||||||
- ruby: 2.1
|
- ruby: 2.1
|
||||||
gemfile: gemfiles/Gemfile-rails-5-2
|
gemfile: gemfiles/Gemfile-rails-5-2
|
||||||
- ruby: 2.1
|
- ruby: 2.1
|
||||||
|
@ -40,24 +46,40 @@ jobs:
|
||||||
gemfile: Gemfile
|
gemfile: Gemfile
|
||||||
- ruby: 2.2
|
- ruby: 2.2
|
||||||
gemfile: gemfiles/Gemfile-rails-6-0
|
gemfile: gemfiles/Gemfile-rails-6-0
|
||||||
|
- ruby: 2.2
|
||||||
|
gemfile: gemfiles/Gemfile-rails-6-1
|
||||||
|
- ruby: 2.2
|
||||||
|
gemfile: gemfiles/Gemfile-rails-main
|
||||||
- ruby: 2.2
|
- ruby: 2.2
|
||||||
gemfile: gemfiles/Gemfile-rails-5-2
|
gemfile: gemfiles/Gemfile-rails-5-2
|
||||||
- ruby: 2.3
|
- ruby: 2.3
|
||||||
gemfile: Gemfile
|
gemfile: Gemfile
|
||||||
- ruby: 2.3
|
- ruby: 2.3
|
||||||
gemfile: gemfiles/Gemfile-rails-6-0
|
gemfile: gemfiles/Gemfile-rails-6-0
|
||||||
|
- ruby: 2.3
|
||||||
|
gemfile: gemfiles/Gemfile-rails-6-1
|
||||||
|
- ruby: 2.3
|
||||||
|
gemfile: gemfiles/Gemfile-rails-main
|
||||||
- ruby: 2.4
|
- ruby: 2.4
|
||||||
gemfile: Gemfile
|
gemfile: Gemfile
|
||||||
- ruby: 2.4
|
- ruby: 2.4
|
||||||
gemfile: gemfiles/Gemfile-rails-6-0
|
gemfile: gemfiles/Gemfile-rails-6-0
|
||||||
|
- ruby: 2.4
|
||||||
|
gemfile: gemfiles/Gemfile-rails-6-1
|
||||||
|
- ruby: 2.4
|
||||||
|
gemfile: gemfiles/Gemfile-rails-main
|
||||||
- ruby: 2.4
|
- ruby: 2.4
|
||||||
gemfile: gemfiles/Gemfile-rails-4-1
|
gemfile: gemfiles/Gemfile-rails-4-1
|
||||||
- ruby: 2.5
|
- ruby: 2.5
|
||||||
gemfile: gemfiles/Gemfile-rails-4-1
|
gemfile: gemfiles/Gemfile-rails-4-1
|
||||||
|
- ruby: 2.5
|
||||||
|
gemfile: gemfiles/Gemfile-rails-main
|
||||||
- ruby: 2.6
|
- ruby: 2.6
|
||||||
gemfile: gemfiles/Gemfile-rails-4-1
|
gemfile: gemfiles/Gemfile-rails-4-1
|
||||||
- ruby: 2.6
|
- ruby: 2.6
|
||||||
gemfile: gemfiles/Gemfile-rails-4-2
|
gemfile: gemfiles/Gemfile-rails-4-2
|
||||||
|
- ruby: 2.6
|
||||||
|
gemfile: gemfiles/Gemfile-rails-main
|
||||||
- ruby: 2.7
|
- ruby: 2.7
|
||||||
gemfile: gemfiles/Gemfile-rails-4-1
|
gemfile: gemfiles/Gemfile-rails-4-1
|
||||||
- ruby: 2.7
|
- ruby: 2.7
|
||||||
|
@ -88,6 +110,10 @@ jobs:
|
||||||
gemfile: gemfiles/Gemfile-rails-5-2
|
gemfile: gemfiles/Gemfile-rails-5-2
|
||||||
- env: DEVISE_ORM=mongoid
|
- env: DEVISE_ORM=mongoid
|
||||||
gemfile: gemfiles/Gemfile-rails-6-0
|
gemfile: gemfiles/Gemfile-rails-6-0
|
||||||
|
- env: DEVISE_ORM=mongoid
|
||||||
|
gemfile: gemfiles/Gemfile-rails-6-1
|
||||||
|
- env: DEVISE_ORM=mongoid
|
||||||
|
gemfile: gemfiles/Gemfile-rails-main
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
|
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
|
||||||
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
|
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
source "https://rubygems.org"
|
||||||
|
|
||||||
|
gemspec path: ".."
|
||||||
|
|
||||||
|
gem "rails", '~> 6.1.0'
|
||||||
|
gem "omniauth"
|
||||||
|
gem "omniauth-oauth2"
|
||||||
|
gem "rdoc"
|
||||||
|
|
||||||
|
gem "activemodel-serializers-xml", github: "rails/activemodel-serializers-xml"
|
||||||
|
|
||||||
|
gem "rails-controller-testing", github: "rails/rails-controller-testing"
|
||||||
|
|
||||||
|
gem "responders", "~> 3.0"
|
||||||
|
|
||||||
|
group :test do
|
||||||
|
gem "omniauth-facebook"
|
||||||
|
gem "omniauth-openid"
|
||||||
|
gem "rexml"
|
||||||
|
gem "timecop"
|
||||||
|
gem "webrat", "0.7.3", require: false
|
||||||
|
gem "mocha", "~> 1.1", require: false
|
||||||
|
end
|
||||||
|
|
||||||
|
platforms :ruby do
|
||||||
|
gem "sqlite3", "~> 1.4"
|
||||||
|
end
|
|
@ -0,0 +1,27 @@
|
||||||
|
source "https://rubygems.org"
|
||||||
|
|
||||||
|
gemspec path: ".."
|
||||||
|
|
||||||
|
gem "rails", github: "rails/rails", branch: "main"
|
||||||
|
gem "omniauth"
|
||||||
|
gem "omniauth-oauth2"
|
||||||
|
gem "rdoc"
|
||||||
|
|
||||||
|
gem "activemodel-serializers-xml", github: "rails/activemodel-serializers-xml"
|
||||||
|
|
||||||
|
gem "rails-controller-testing", github: "rails/rails-controller-testing"
|
||||||
|
|
||||||
|
gem "responders", "~> 3.0"
|
||||||
|
|
||||||
|
group :test do
|
||||||
|
gem "omniauth-facebook"
|
||||||
|
gem "omniauth-openid"
|
||||||
|
gem "rexml"
|
||||||
|
gem "timecop"
|
||||||
|
gem "webrat", "0.7.3", require: false
|
||||||
|
gem "mocha", "~> 1.1", require: false
|
||||||
|
end
|
||||||
|
|
||||||
|
platforms :ruby do
|
||||||
|
gem "sqlite3", "~> 1.4"
|
||||||
|
end
|
|
@ -318,7 +318,9 @@ module Devise
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.ref(arg)
|
def self.ref(arg)
|
||||||
ActiveSupport::Dependencies.reference(arg)
|
if ActiveSupport::Dependencies.respond_to?(:reference)
|
||||||
|
ActiveSupport::Dependencies.reference(arg)
|
||||||
|
end
|
||||||
Getter.new(arg)
|
Getter.new(arg)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ ActiveRecord::Base.logger = Logger.new(nil)
|
||||||
ActiveRecord::Base.include_root_in_json = true
|
ActiveRecord::Base.include_root_in_json = true
|
||||||
|
|
||||||
migrate_path = File.expand_path("../../rails_app/db/migrate/", __FILE__)
|
migrate_path = File.expand_path("../../rails_app/db/migrate/", __FILE__)
|
||||||
if Devise::Test.rails6?
|
if Devise::Test.rails6_and_up?
|
||||||
ActiveRecord::MigrationContext.new(migrate_path, ActiveRecord::SchemaMigration).migrate
|
ActiveRecord::MigrationContext.new(migrate_path, ActiveRecord::SchemaMigration).migrate
|
||||||
elsif Devise::Test.rails52_and_up?
|
elsif Devise::Test.rails52_and_up?
|
||||||
ActiveRecord::MigrationContext.new(migrate_path).migrate
|
ActiveRecord::MigrationContext.new(migrate_path).migrate
|
||||||
|
|
|
@ -46,7 +46,7 @@ module RailsApp
|
||||||
end
|
end
|
||||||
|
|
||||||
# Remove the first check once Rails 5.0 support is removed.
|
# Remove the first check once Rails 5.0 support is removed.
|
||||||
if Devise::Test.rails52_and_up? && !Devise::Test.rails6?
|
if Devise::Test.rails52_and_up? && !Devise::Test.rails6_and_up?
|
||||||
Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true
|
Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,9 +7,9 @@ end
|
||||||
module Devise
|
module Devise
|
||||||
module Test
|
module Test
|
||||||
# Detection for minor differences between Rails versions in tests.
|
# Detection for minor differences between Rails versions in tests.
|
||||||
|
|
||||||
def self.rails6?
|
def self.rails6_and_up?
|
||||||
Rails.version.start_with? '6'
|
Rails::VERSION::MAJOR >= 6
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.rails52_and_up?
|
def self.rails52_and_up?
|
||||||
|
|
|
@ -103,7 +103,7 @@ class TestControllerHelpersTest < Devise::ControllerTestCase
|
||||||
test "returns the content type of a failure app" do
|
test "returns the content type of a failure app" do
|
||||||
get :index, params: { format: :json }
|
get :index, params: { format: :json }
|
||||||
|
|
||||||
if Devise::Test.rails6?
|
if Devise::Test.rails6_and_up?
|
||||||
assert_includes response.media_type, 'application/json'
|
assert_includes response.media_type, 'application/json'
|
||||||
else
|
else
|
||||||
assert_includes response.content_type, 'application/json'
|
assert_includes response.content_type, 'application/json'
|
||||||
|
|
Loading…
Reference in New Issue