instructure / canvas-lms

The open LMS by Instructure, Inc.
https://github.com/instructure/canvas-lms/wiki
GNU Affero General Public License v3.0
5.52k stars 2.45k forks source link

Canvas LMS upgradation plan to Ruby 3.0+ #2070

Closed sharathkumar closed 1 year ago

sharathkumar commented 2 years ago

@canadaduane , @treybean , @stderr , @jbasdf , @zwily @

Actually, we have a concern.

As per our organization's security vulnerabilities, they are following https://endoflife.date. our ruby version is going to end in 10 months. If it is in version 3.0+ we will get another 3 years. So can you please comment on my below concerns if possible?

https://endoflife.date/ruby https://endoflife.date/nodejs

Is our canvas LMS support ruby version 3.0? Is there any upgrading plan to ruby 3.0+? Is there any upgrading plan to NodeJs 18+? If yes, can you please update a tentative date for that releases?

duncantmiller commented 2 years ago

+1

Mauraza commented 1 year ago

Hi, is there any news about Ruby 3.0+ upgrade?

maths22 commented 1 year ago

Canvas should work on ruby 3.1 and 3.0. It is passing all test cases internally on those rubies, and we are planning to roll out ruby 3.1 in our deployed environments in the next month or two.

Mauraza commented 1 year ago

Hi @maths22,

Thanks for answering! I'm trying to run Canvas with Ruby 3.0, but this error appears:

Ruby 3.0+ support is experimental

An error occurred while loading spec_helper. - Did you mean?
                    rspec ./spec/spec_helper.rb

Failure/Error: require_relative "../config/environment"

LoadError:
  cannot load such file -- pact/doc/markdown/generator
  ....
# --- Caused by: ---
# LoadError:
#   cannot load such file -- pact-messages
#   ./vendor/bundle/ruby/3.0.0/gems/bootsnap-1.13.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
maths22 commented 1 year ago

You need to update the version of canvas you are running. The Ruby 3.0+ support is experimental hasn't been in there since https://github.com/instructure/canvas-lms/commit/6fd442cf8b071b86f4f55a80abeb6bdfaf73fd95 was merged, so you must be attempting to run something older than that at present.

Mauraza commented 1 year ago

I will try a newer version! Thanks!!

Mauraza commented 1 year ago

Hi @maths22,

With the new version works perfectly with Ruby 3.0. Thanks for all!! ❤️

kto2038 commented 1 year ago

Please update the following document. https://github.com/instructure/canvas-lms/wiki/Quick-Start#dependency-installation

maths22 commented 1 year ago

Canvas is now running on ruby 3.1 in the SAAS production deployment and can be run on 3.1 everywhere. I'll go update the docs to reflect that.