Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ruby3 #3518

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open

Ruby3 #3518

wants to merge 8 commits into from

Conversation

anitagraham
Copy link
Contributor

This PR (and its matching PR on https://github.com/refinery/refinerycms-i18n ) allow refinerycms to run with Ruby 3.

It has been tested with Ruby 3.1.2 and Rails 6.1.6.1
Will shortly be tested on Rails 7.

One test failure on /resources, which I haven't been able to fathom.

Ruby 3.1.2
core: TranslationHelper, SiteBarHelper - using Ruby3 keyword args
      lib/refinery/engine uses new mobility configuration
images, resources: Updated examples to pass an explicit block to 'expect' as passing an implicit block is deprecated.
images: Use errors.add to add errors to an object - had already been done for resources.

Gem versions changed:
  mobility 1.2.9
  rspec-rails 6.0.0.rc1
  friendly_id >= 5.4.0
  friendly_id-mobility ~> 1.0.3
@anitagraham
Copy link
Contributor Author

Tests failing:

I have seen some of these errors during testing, but thought I was past them. Many seem to be timeouts, and then the reporting of timeouts seems to be a problem too.

There are many variations of:

 1.1) Failure/Error: **visit refinery.admin_images_path**
          RuntimeError:
            Rack application timed out during boot
          # ./core/spec/system/refinery/admin/xhr_paging_spec.rb:19:in `block (3 levels) in <module:Refinery>'

and I saw some other reporting of timeouts on visit, as a result of changes to bundler, I think.

Also frequently seen (below), which seems to be an error reporting timeouts. It occurs every minute during a run.

{"time":"2022-07-18T05:05:32+00:00",
 "severity":"warn",
 "class":"Async::Task",
 "oid":130980,
 "pid":2890,
 "subject":
    "#<Async::Task:0x000000000001ffa4 /home/runner/work/refinerycms/refinerycms/vendor/bundle/ruby/3.1.0/gems/async-2.0.3/lib/async/task.rb:82:in
    `backtrace' (failed)>",
    "message":[
      "Task may have ended with unhandled exception.",
      "undefined method `logger' for Async:Module
					Async.logger.debug (self) {\"Running server...\"}
					     ^^^^^^^"
					     ],
		"error":{
		  "kind":"NoMethodError",
		  "message":"undefined method `logger' for Async:Module
					Async.logger.debug (self) {\"Running server...\"}
					     ^^^^^^^",
     "stack":
      "/home/runner/work/refinerycms/refinerycms/vendor/bundle/ruby/3.1.0/gems/falcon-capybara-1.5.1/lib/falcon/capybara/wrapper.rb:61:in `block in call'
        /home/runner/work/refinerycms/refinerycms/vendor/bundle/ruby/3.1.0/gems/async-2.0.3/lib/async/task.rb:255:in `block in schedule'
    "}
}

Tidy up configuration block for Mobility 1.2.9
Revert some changes for single argument keyword args
Add descriptions for Generator spec matchers (thereby avoiding a very long message when there are no descriptions).
@parndt
Copy link
Member

parndt commented Nov 14, 2022

Thank you for looking at this

@pdornfel
Copy link

Is there any update on the status of this PR? I need to upgrade to ruby 3.2.1 and rails 6.x because I need to upgrade to the newest cflinux4 buildpack and no previous versions of ruby are supported. I currently use refinerycms with ruby 2.5.5 and rails 5.x.

I think this merge will help me upgrade to the versions of ruby and rails mentioned above. Thank you.

@@ -97,3 +97,4 @@ Gemfile.lock

# rspec failures
.rspec_failures
Refinery Review.md
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Refinery Review.md

@Matho Matho mentioned this pull request May 19, 2023
@parndt
Copy link
Member

parndt commented May 22, 2023

@pdornfel I'd really love to merge this but CI isn't happy. The corresponding PR for refinerycms-i18n is failing on Ruby 3.0 and 3.2, but not 3.1 🤔 refinery/refinerycms-i18n#104

Any help you or anyone else can lend with figuring out why this is happening would be greatly appreciated. Right now, I suspect the routing-filter gem we use.

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.

3 participants