refinerycms icon indicating copy to clipboard operation
refinerycms copied to clipboard

Ruby3

Open anitagraham opened this issue 3 years ago • 4 comments

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.

anitagraham avatar Jul 18 '22 04:07 anitagraham

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'
    "}
}

anitagraham avatar Jul 18 '22 05:07 anitagraham

Thank you for looking at this

parndt avatar Nov 14 '22 01:11 parndt

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.

pdornfel avatar May 11 '23 18:05 pdornfel

@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 🤔 https://github.com/refinery/refinerycms-i18n/pull/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.

parndt avatar May 22 '23 22:05 parndt