Skip to content

Conversation

trliner
Copy link
Contributor

@trliner trliner commented Apr 23, 2025

The CI pipeline is current failing for certain matrix configurations that rely on ActiveSupport < 7.1:

An error occurred while loading ./spec/storage/grid_fs_spec.rb.
Failure/Error: require 'carrierwave'

NameError:
  uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:16:in `<module:LoggerThreadSafeLevel>'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:9:in `<module:ActiveSupport>'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:8:in `<top (required)>'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support/logger_silence.rb:5:in `require'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support/logger_silence.rb:5:in `<top (required)>'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support/logger.rb:3:in `require'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support/logger.rb:3:in `<top (required)>'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support.rb:29:in `require'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support.rb:29:in `<top (required)>'
# ./vendor/bundle/ruby/2.6.0/gems/carrierwave-3.0.7/lib/carrierwave/uploader/file_size.rb:1:in `require'
# ./vendor/bundle/ruby/2.6.0/gems/carrierwave-3.0.7/lib/carrierwave/uploader/file_size.rb:1:in `<top (required)>'
# ./vendor/bundle/ruby/2.6.0/gems/carrierwave-3.0.7/lib/carrierwave/uploader.rb:14:in `require'
# ./vendor/bundle/ruby/2.6.0/gems/carrierwave-3.0.7/lib/carrierwave/uploader.rb:14:in `<top (required)>'
# ./vendor/bundle/ruby/2.6.0/gems/carrierwave-3.0.7/lib/carrierwave.rb:97:in `require'
# ./vendor/bundle/ruby/2.6.0/gems/carrierwave-3.0.7/lib/carrierwave.rb:97:in `<top (required)>'
# ./spec/spec_helper.rb:7:in `require'
# ./spec/spec_helper.rb:7:in `<top (required)>'

This is because prior to 7.1, ActiveSupport was relying on concurrent-ruby to require the logger library, but concurrent-ruby stopped requiring logger starting in version 1.3.5.

This issue was fixed in rails/rails#54264.

The only place in carrierwave-mongoid that references Logger is here:

Mongo::Logger.level = ::Logger::INFO

So, requiring logger in spec_helper.rb fixes the failing CI matrix configurations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant