Skip to content

Modernize CI with Ruby 4.0, removing Rails 6.1 and 7.0, Ruby 3.0 and 3.1#6

Open
texpert wants to merge 9 commits intomasterfrom
add-ruby-4-to-the-ci
Open

Modernize CI with Ruby 4.0, removing Rails 6.1 and 7.0, Ruby 3.0 and 3.1#6
texpert wants to merge 9 commits intomasterfrom
add-ruby-4-to-the-ci

Conversation

@texpert
Copy link
Owner

@texpert texpert commented Feb 28, 2026

Changes

  • Remove unnecessary mb_chars call in lib/ext/string.rb - it has been marked as deprecated in Rails 8.1, and will be removed on Rails 8.2,
  • Use non-digest-assets version 2.6.0 on rails_edge.gemfile, as well as on all the gemfiles
  • Change TargetRubyVersion in .rubocop.yml to 3.2, as the currently minimal tested Ruby version
    • The 4.0.x Ruby version is still raw
  • The gemspec Ruby and Rails version constraints are not changed to still allow the gem to be used with older versions, despite not testing these old versions in the CI

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the project’s dependency set and CI matrix to focus on newer Ruby/Rails versions (including Rails 8.1) while dropping older Rails/Ruby combinations from automated testing.

Changes:

  • Update GitHub Actions matrices to test newer Ruby/Rails combinations and adjust lint job baseline.
  • Bump Rails and non-digest-assets versions across Gemfiles/gemspec and refresh the lockfile accordingly.
  • Minor compatibility/cleanup changes in Ruby code (e.g., remove mb_chars usage; prefer Rails.env.local?).

Reviewed changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
lib/ext/string.rb Simplifies filename sanitization return value (drops mb_chars).
gemfiles/rails_edge.gemfile Pins non-digest-assets to 2.6.0 while tracking Rails main.
gemfiles/rails_8_1.gemfile Updates Rails target to ~> 8.1 and aligns dependencies.
gemfiles/rails_8_0.gemfile Bumps non-digest-assets to 2.6.0.
gemfiles/rails_7_2.gemfile Bumps non-digest-assets to 2.6.0.
gemfiles/rails_7_1.gemfile Bumps non-digest-assets constraint to ~> 2.6.
gemfiles/rails_7_0.gemfile Removes Rails 7.0 appraisal Gemfile.
camaleon_cms.gemspec Updates dependency constraint for non-digest-assets; adds RuboCop suppression on Ruby requirement line.
app/apps/plugins/front_cache/front_cache_helper.rb Uses Rails.env.local? and minor arg-name cleanup.
Gemfile.lock Updates locked versions (Rails 8.1.2, non-digest-assets 2.6.0, etc.) and platforms.
Gemfile Updates Rails and non-digest-assets versions for the default bundle.
.rubocop.yml Adjusts RuboCop plugin config format and targets Ruby 3.4.
.github/workflows/experimental_support.yml Moves ruby: head job to Rails 8.1 Gemfile.
.github/workflows/current_support.yml Updates tested Ruby/Rails matrix (adds Ruby 4.0, drops older Rails/Ruby) and updates lint baseline.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

texpert and others added 2 commits February 28, 2026 21:29
…on Rails 6.1 and Rails 7.0 - Rails.env.local? has been introduced only in Rails 7.1. We're not testing the gem with 6.1 and 7.0, but don't want yet to hard constraint to 7.1 minimum
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 14 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

texpert and others added 2 commits February 28, 2026 21:57
[skip ci]

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
"The Ruby version values in the matrix are unquoted numbers. YAML parses these as numeric types, and 4.0 can be stringified as 4, which may cause ruby/setup-ruby to try installing the wrong version. Quote the versions (e.g., '3.2', '3.3', '3.4', '4.0') to ensure exact values are passed through."
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 14 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

TargetRubyVersion is set to 3.4, but this repo’s CI matrix still runs specs on Ruby 3.2/3.3. With TargetRubyVersion: 3.4, RuboCop can allow 3.4-only syntax that will still break on 3.2/3.3. Consider setting TargetRubyVersion to the minimum Ruby version you intend to support/test (currently 3.2), or dropping 3.2/3.3 from CI if they’re no longer supported.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 14 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 14 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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