ci: stop gating releases on Ruby 4.0 + Rails 7.1, which Rails does not support - #288
Conversation
…t support Rails 7.1's gemspec says `required_ruby_version >= 2.7.0`. That is a floor with no upper bound, not a statement of support: 7.1 shipped in October 2023, years before Ruby 4.0 existed, and Rails never tested the pair. We have been propping the combination up rather than testing it: - `gemfiles/rails71_gems.rb` carries an explicit `require: %w[logger ...]` purely because Ruby 3.5+/4.0 dropped logger from the default gems; - #283 added a `defined?` guard for `ActiveSupport::Testing::TestsWithoutAssertions` on the same cells. Each was a real fix, but together they mean a red there is upstream's unsupported configuration, not our defect -- and today that cell blocked a release twice while every supported combination was green. Rails 7.1 stays covered on 3.3, 3.4 and jruby-10.0, which Rails does support. The #283 guard stays: 7.1 lacks that constant on every Ruby, not just 4.0. Open question left deliberately: 3.4 + Rails 7.1 is also outside what Rails formally lists, though 7.1.5+ carries 3.4 fixes. Not touched here -- that call belongs with whoever sets the support policy, and unlike Ruby 4 it is not currently costing us anything.
|
Warning Review limit reachedNext included review available in 36 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Reviewer's guide (collapsed on small PRs)Reviewer's GuideUpdates the CI matrix policy so the unsupported Ruby 4.0/Rails 7.1 combination no longer gates releases, while preserving supported Rails 7.1 coverage and documenting the rationale. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Rails 7.1's gemspec declares
required_ruby_version >= 2.7.0— a floor with no upper bound, not a statement of support. Rails 7.1 shipped in October 2023, years before Ruby 4.0, and Rails never tested the pair.We have been propping it up, not testing it
gemfiles/rails71_gems.rb→require: %w[logger ...]loggerfrom default gemsdefined?(ActiveSupport::Testing::TestsWithoutAssertions)guardBoth were correct fixes. Together they mean a red on that cell is upstream's unsupported configuration, not our defect — and today it blocked a release twice while every supported combination was green.
After this change
Rails 7.1 stays covered on 3.3, 3.4, jruby-10.0. The #283 guard stays — 7.1 lacks that constant on every Ruby, not only 4.0.
Deliberately not decided here
3.4 + Rails 7.1is also outside what Rails formally lists, though 7.1.5+ carries Ruby 3.4 fixes. Left alone: that is a support-policy call, and unlike Ruby 4 it is not currently costing us anything.YAML validated.
Summary by Sourcery
Stop gating releases on the unsupported Ruby 4.0 and Rails 7.1 combination while preserving supported Rails 7.1 test coverage.
Enhancements:
CI: