Skip to content

Add Ruby 4 to CI#6410

Open
AlistairNorman wants to merge 3 commits intosolidusio:mainfrom
SuperGoodSoft:ci-ruby-4.0
Open

Add Ruby 4 to CI#6410
AlistairNorman wants to merge 3 commits intosolidusio:mainfrom
SuperGoodSoft:ci-ruby-4.0

Conversation

@AlistairNorman
Copy link
Contributor

Summary

A little fix along with adding Ruby 4 to CI. Fixes an issue that was surfaced when @tvdeyen ran CI with Ruby 4 in PR #6403

Checklist

Check out our PR guidelines for more details.

The following are mandatory for all PRs:

The following are not always needed:

  • 📖 I have updated the README to account for my changes.
  • 📑 I have documented new code with YARD.
  • 🛣️ I have opened a PR to update the guides.
  • ✅ I have added automated tests to cover my changes.
  • 📸 I have attached screenshots to demo visual changes.

@AlistairNorman AlistairNorman requested a review from a team as a code owner January 24, 2026 01:01
@github-actions github-actions bot added the changelog:repository Changes to the repository not within any gem label Jan 24, 2026
@AlistairNorman AlistairNorman mentioned this pull request Jan 24, 2026
5 tasks
@codecov
Copy link

codecov bot commented Jan 24, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.50%. Comparing base (1db0767) to head (b173496).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #6410   +/-   ##
=======================================
  Coverage   89.50%   89.50%           
=======================================
  Files         981      981           
  Lines       20479    20479           
=======================================
  Hits        18330    18330           
  Misses       2149     2149           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jarednorman jarednorman changed the title Ci ruby 4.0 Add Ruby 4 to CI Jan 29, 2026
@AlistairNorman AlistairNorman force-pushed the ci-ruby-4.0 branch 2 times, most recently from 6d5661a to afecf0c Compare January 29, 2026 18:59
Copy link
Member

@tvdeyen tvdeyen left a comment

Choose a reason for hiding this comment

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

Nice and thanks for taking this over. It seems we need the benchmark gem for mini_magick as a dependency for active storage in tests. Adding it to local Gemfile should be enough, since stores will be able to decide which image processor they use.

@github-actions github-actions bot added changelog:solidus_core Changes to the solidus_core gem and removed changelog:repository Changes to the repository not within any gem labels Jan 30, 2026
s.add_dependency 'state_machines', ['~> 0.6', '< 0.10.0']
s.add_dependency 'state_machines-activerecord', ['~> 0.6', '< 0.10.0']
s.add_dependency 'omnes', '~> 0.2.2'
s.add_dependency 'benchmark', '~> 0.5'
Copy link
Member

Choose a reason for hiding this comment

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

I would prefer not to have this as a Solidus dependency. It highly depends on what Storage solution and Ruby version the store uses. It is not a direct dependency of us and we should always be very cautious about adding new dependencies. Have you tried to just put it in the repository main Gemfile?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Really it should just be added as a dependency for Omnes. Requiring it doesn't depend on the storage solution or the Ruby version, although with Ruby < 4 the store would already have Benchmark. I can open a pull request on Omnes.

Copy link
Contributor

Choose a reason for hiding this comment

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

Makes sense, please do add it to the Gemfile, as well as making a PR against the Omnes gem. Thank you!

i18n-tasks gets reverted to an earlier version when upgrading to Ruby 4.
For some reason 0.9.0 allows Ruby 4 but 0.9.37 doesn't and reverting
back to 0.9.0 introduces bugs that were fixed in subsequent versions.
These versions are all quite old and we can now update to 1.1.
@AlistairNorman AlistairNorman marked this pull request as draft February 2, 2026 17:52
Until released needs solidus_auth_devise main branch for now
@github-actions github-actions bot added changelog:repository Changes to the repository not within any gem and removed changelog:solidus_core Changes to the solidus_core gem labels Feb 2, 2026
Benchmark is needed by Omnes as well as one test file in legacy
promotions but neither gem has it as a dependency. It is also needed by
mini_magick. It is no longer loaded from the standard library as of Ruby
4.
@AlistairNorman AlistairNorman marked this pull request as ready for review February 2, 2026 18:11
@AlistairNorman
Copy link
Contributor Author

Should be good to go now

Copy link
Member

@tvdeyen tvdeyen left a comment

Choose a reason for hiding this comment

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

Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog:repository Changes to the repository not within any gem

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants