Skip to content

Conversation

@taketo1113
Copy link
Contributor

This Pull Request adds Ruby 3.4 to the CI matrix.
Additionally, it fixes the Rails version specification in gemfiles so that CI runs against the intended minor version.

Details

Add dependencies for Ruby 3.4 in CI Gemfiles

Since mutex_m and bigdecimal cause the following errors on Ruby 3.4, dependencies have been added to the Gemfiles for each Rails version in CI where these errors occur.
This is because these gems were moved from default gems to bundled gems in Ruby 3.4.
https://github.com/ruby/ruby/blob/v3_4_0/NEWS.md?plain=1#L333-L352

LoadError: cannot load such file -- mutex_m
/home/user/.rbenv/versions/3.4.6/lib/ruby/3.4.0/bundled_gems.rb:82:in 'Kernel.require': cannot load such file -- bigdecimal (LoadError)

Fix CI Error of uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger (NameError) for rails 7.0 or below

concurrent-ruby v1.3.4 has been added for compatibility with Rails versions <= 7.0.
This resolves an error that occurs with Rails <= 7.0 and concurrent-ruby v1.3.5:

The error details are as follows:

/home/runner/work/i18n/i18n/vendor/bundle/ruby/3.3.0/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:16:in `<module:LoggerThreadSafeLevel>': uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger (NameError)

    Logger::Severity.constants.each do |severity|
    ^^^^^^
	from /home/runner/work/i18n/i18n/vendor/bundle/ruby/3.3.0/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:9:in `<module:ActiveSupport>'
...

https://github.com/ruby-i18n/i18n/actions/runs/18092846741/job/51477245834

Fix Rails version specification in gemfiles

In CI, jobs such as build (3.3, gemfiles/Gemfile.rails-7.1.x) were running against Rails 7.2 instead of Rails 7.1.
This Pull Request updates the version specification to ensure that the intended Rails minor version is used.

Example change (Gemfile.rails-7.1.x):

-gem 'activesupport', '~> 7.1'
+gem 'activesupport', '~> 7.1.0'

Before this fix, the Rails 7.1 CI lockfile was already pulling in Rails 7.2:

Print lockfile
  /usr/bin/cat gemfiles/Gemfile.rails-7.1.x.lock
...
  GEM
    remote: https://rubygems.org/
    specs:
      activesupport (7.2.2.2)
        base64

https://github.com/ruby-i18n/i18n/actions/runs/18093519210/job/51479436380

Add dependency of mutex_m / bigdecimal to address LoadError for Ruby 3.4

Add dependency of concurrent-ruby v1.3.4 to address NameError uninitialized constant for Rails 7.0 or below
@radar radar merged commit d64a88d into ruby-i18n:master Oct 27, 2025
48 checks passed
@radar
Copy link
Collaborator

radar commented Oct 27, 2025

Thank you!

@taketo1113 taketo1113 deleted the ci-ruby-3.4 branch October 27, 2025 06:40
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.

2 participants