diff --git a/.github/workflows/rubyonrails.yml b/.github/workflows/rubyonrails.yml index 08454c75b..f1b21d875 100644 --- a/.github/workflows/rubyonrails.yml +++ b/.github/workflows/rubyonrails.yml @@ -15,7 +15,7 @@ jobs: allowed_failure: false # ✅ required - ruby: '3.4.4' rails: '8.0.2' - allowed_failure: true # ⚠️ allowed to fail + allowed_failure: false # ✅ required env: RAILS_ENV: test diff --git a/lib/better_together/engine.rb b/lib/better_together/engine.rb index 0344ade23..0096f2ef2 100644 --- a/lib/better_together/engine.rb +++ b/lib/better_together/engine.rb @@ -44,7 +44,7 @@ class Engine < ::Rails::Engine isolate_namespace BetterTogether # Avoid modifying frozen autoload path arrays (Rails 8 compatibility) - config.autoload_paths = Array(config.autoload_paths) + Dir["#{root}/lib/better_together/**/"] + paths.add 'lib', eager_load: true config.generators do |g| g.orm :active_record, primary_key_type: :uuid @@ -53,14 +53,16 @@ class Engine < ::Rails::Engine end config.before_initialize do - require_dependency 'friendly_id' - require_dependency 'mobility' - require_dependency 'friendly_id/mobility' - require_dependency 'jsonapi-resources' - require_dependency 'importmap-rails' - require_dependency 'public_activity' - require_dependency 'pundit' - require_dependency 'rack/cors' + # Use `require` instead of `require_dependency` for external gems to avoid + # modifying Rails' frozen autoload paths (Rails 8 compatibility) + require 'friendly_id' + require 'mobility' + require 'friendly_id/mobility' + require 'jsonapi-resources' + require 'importmap-rails' + require 'public_activity' + require 'pundit' + require 'rack/cors' end default_url_options = {