From 6cdb736b9603cde935917d7bfa97efae8a5dcc17 Mon Sep 17 00:00:00 2001 From: Chris Colvard Date: Mon, 30 Sep 2024 15:37:40 -0400 Subject: [PATCH 1/3] Add testing for rails 7.1 and 7.2 and ruby 3.3; drop testing of end of life versions --- .circleci/config.yml | 196 +++++++++++++++---------------------------- 1 file changed, 68 insertions(+), 128 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7bdf003..bbc3371 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -57,75 +57,45 @@ jobs: workflows: ci: jobs: + # Rails 7.2 + - test: + name: "ruby3-3_rails7-2" + ruby_version: 3.3.5 + rails_version: 7.2.1 + - test: + name: "ruby3-2_rails7-2" + ruby_version: 3.2.5 + rails_version: 7.2.1 + - test: + name: "ruby3-1_rails7-2" + ruby_version: 3.1.6 + rails_version: 7.2.1 + # Rails 7.1 + - test: + name: "ruby3-3_rails7-1" + ruby_version: 3.3.5 + rails_version: 7.1.4 + - test: + name: "ruby3-2_rails7-1" + ruby_version: 3.2.5 + rails_version: 7.1.4 + - test: + name: "ruby3-1_rails7-1" + ruby_version: 3.1.6 + rails_version: 7.1.4 # Rails 7.0 + - test: + name: "ruby3-3_rails7-0" + ruby_version: 3.3.5 + rails_version: 7.0.8.4 - test: name: "ruby3-2_rails7-0" - ruby_version: 3.2.0 - rails_version: 7.0.4.1 + ruby_version: 3.2.5 + rails_version: 7.0.8.4 - test: name: "ruby3-1_rails7-0" - ruby_version: 3.1.3 - rails_version: 7.0.4.1 - - test: - name: "ruby3-0_rails7-0" - ruby_version: 3.0.5 - rails_version: 7.0.4.1 - # Rails 6.1 - - test: - name: "ruby3-2_rails6-1" - ruby_version: 3.2.0 - rails_version: 6.1.7.1 - - test: - name: "ruby3-1_rails6-1" - ruby_version: 3.1.3 - rails_version: 6.1.7.1 - - test: - name: "ruby3-0_rails6-1" - ruby_version: 3.0.5 - rails_version: 6.1.7.1 - - test: - name: "ruby2-7_rails6-1" - ruby_version: 2.7.7 - rails_version: 6.1.7.1 - # Rails 6.0 - - test: - name: "ruby3-2_rails6-0" - ruby_version: 3.2.0 - rails_version: 6.0.6.1 - - test: - name: "ruby3-1_rails6-0" - ruby_version: 3.1.3 - rails_version: 6.0.6.1 - - test: - name: "ruby3-0_rails6-0" - ruby_version: 3.0.5 - rails_version: 6.0.6.1 - - test: - name: "ruby2-7_rails6-0" - ruby_version: 2.7.7 - rails_version: 6.0.6.1 - - test: - name: "ruby2-6_rails6-0" - ruby_version: 2.6.10 - rails_version: 6.0.6.1 - # Rails 5.2 - - test: - name: "ruby2-7_rails5-2" - ruby_version: 2.7.7 - rails_version: 5.2.8.1 - - test: - name: "ruby2-6_rails5-2" - ruby_version: 2.6.10 - rails_version: 5.2.8.1 - # Rails 5.1 - - test: - name: "ruby2-7_rails5-1" - ruby_version: 2.7.7 - rails_version: 5.1.7 - - test: - name: "ruby2-6_rails5-1" - ruby_version: 2.6.10 - rails_version: 5.1.7 + ruby_version: 3.1.6 + rails_version: 7.0.8.4 nightly: triggers: @@ -137,72 +107,42 @@ workflows: - main jobs: + # Rails 7.2 + - test: + name: "ruby3-3_rails7-2" + ruby_version: 3.3.5 + rails_version: 7.2.1 + - test: + name: "ruby3-2_rails7-2" + ruby_version: 3.2.5 + rails_version: 7.2.1 + - test: + name: "ruby3-1_rails7-2" + ruby_version: 3.1.6 + rails_version: 7.2.1 + # Rails 7.1 + - test: + name: "ruby3-3_rails7-1" + ruby_version: 3.3.5 + rails_version: 7.1.4 + - test: + name: "ruby3-2_rails7-1" + ruby_version: 3.2.5 + rails_version: 7.1.4 + - test: + name: "ruby3-1_rails7-1" + ruby_version: 3.1.6 + rails_version: 7.1.4 # Rails 7.0 + - test: + name: "ruby3-3_rails7-0" + ruby_version: 3.3.5 + rails_version: 7.0.8.4 - test: name: "ruby3-2_rails7-0" - ruby_version: 3.2.0 - rails_version: 7.0.4.1 + ruby_version: 3.2.5 + rails_version: 7.0.8.4 - test: name: "ruby3-1_rails7-0" - ruby_version: 3.1.3 - rails_version: 7.0.4.1 - - test: - name: "ruby3-0_rails7-0" - ruby_version: 3.0.5 - rails_version: 7.0.4.1 - # Rails 6.1 - - test: - name: "ruby3-2_rails6-1" - ruby_version: 3.2.0 - rails_version: 6.1.7.1 - - test: - name: "ruby3-1_rails6-1" - ruby_version: 3.1.3 - rails_version: 6.1.7.1 - - test: - name: "ruby3-0_rails6-1" - ruby_version: 3.0.5 - rails_version: 6.1.7.1 - - test: - name: "ruby2-7_rails6-1" - ruby_version: 2.7.7 - rails_version: 6.1.7.1 - # Rails 6.0 - - test: - name: "ruby3-2_rails6-0" - ruby_version: 3.2.0 - rails_version: 6.0.6.1 - - test: - name: "ruby3-1_rails6-0" - ruby_version: 3.1.3 - rails_version: 6.0.6.1 - - test: - name: "ruby3-0_rails6-0" - ruby_version: 3.0.5 - rails_version: 6.0.6.1 - - test: - name: "ruby2-7_rails6-0" - ruby_version: 2.7.7 - rails_version: 6.0.6.1 - - test: - name: "ruby2-6_rails6-0" - ruby_version: 2.6.10 - rails_version: 6.0.6.1 - # Rails 5.2 - - test: - name: "ruby2-7_rails5-2" - ruby_version: 2.7.7 - rails_version: 5.2.8.1 - - test: - name: "ruby2-6_rails5-2" - ruby_version: 2.6.10 - rails_version: 5.2.8.1 - # Rails 5.1 - - test: - name: "ruby2-7_rails5-1" - ruby_version: 2.7.7 - rails_version: 5.1.7 - - test: - name: "ruby2-6_rails5-1" - ruby_version: 2.6.10 - rails_version: 5.1.7 + ruby_version: 3.1.6 + rails_version: 7.0.8.4 From 36f5b6eb353317603cfec745afb932c9d66c9e16 Mon Sep 17 00:00:00 2001 From: Chris Colvard Date: Wed, 2 Oct 2024 15:22:19 -0400 Subject: [PATCH 2/3] Workaround zeitwerk and engine_cart issue --- lib/hydra/role_management.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/hydra/role_management.rb b/lib/hydra/role_management.rb index 6937d03..e43744c 100644 --- a/lib/hydra/role_management.rb +++ b/lib/hydra/role_management.rb @@ -10,6 +10,18 @@ class Engine < ::Rails::Engine # Rails 4 should do this automatically: config.paths.add 'app/controllers/concerns', eager_load: true config.paths.add 'app/models/concerns', eager_load: true + + config.before_configuration do + # rubocop:disable Style/IfUnlessModifier + # see https://github.com/fxn/zeitwerk#for_gem + # Blacklight puts a generator into LOCAL APP lib/generators, so tell + # zeitwerk to ignore the whole directory? If we're using zeitwerk + # + # See: https://github.com/cbeer/engine_cart/issues/117 + if ::Rails.try(:autoloaders).try(:main).respond_to?(:ignore) + ::Rails.autoloaders.main.ignore(::Rails.root.join('lib', 'generators')) + end + end end end end From 5767f91d177cb371da5abbf5e021318600a1d503 Mon Sep 17 00:00:00 2001 From: Chris Colvard Date: Wed, 2 Oct 2024 15:24:25 -0400 Subject: [PATCH 3/3] Pin to blacklight less than 8.0 --- hydra-role-management.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hydra-role-management.gemspec b/hydra-role-management.gemspec index 811875b..9b65748 100644 --- a/hydra-role-management.gemspec +++ b/hydra-role-management.gemspec @@ -18,7 +18,7 @@ Gem::Specification.new do |gem| gem.license = 'Apache 2.0' gem.metadata = { "rubygems_mfa_required" => "true" } - gem.add_dependency 'blacklight' + gem.add_dependency 'blacklight', '< 8' gem.add_dependency 'bootstrap_form' gem.add_dependency 'bundler', '>= 1.5' gem.add_dependency 'cancancan'