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

Upgrade to Rails 7.1 (+ Ruby 3.3 & Alpine 3.20) #1122

Merged
merged 15 commits into from
Nov 22, 2024

Conversation

Ithanil
Copy link
Contributor

@Ithanil Ithanil commented Nov 12, 2024

Description

Updated Rails from 6.1 to 7.1 and made relevant changes accordingly.
At the same time, Ruby was updated from 3.1 to 3.3, which didn't seem to have any relevant breaking changes, and Alpine was updated from 3.17 to 3.20 to support Ruby 3.3 (although a self-compiled version is used anyway in the Docker builds).

Notes for the Rails upgrade:

  1. Studied https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-6-1-to-rails-7-0 and https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-7-0-to-rails-7-1
    A few points in the above were relevant:
  1. Other notable things not mentioned above:
  • Redirects to other host now need allow_other_host or an exception will be raised. That is relevant for the redirect on join calls.
  • MiniTest is now named Minitest.... (that took me a while)
  • The default serializer was YAML before and is now nil (and thus would have to be explicitly specified). I have restored the previous default: config.active_record.default_column_serializer = YAML
  1. Changes in default files generated by rails app:update have been reviewed and merged in as appropriate, maintaining any previous non-default configurations in most cases. One setting that has been changed in all files is config.cache_classes replaced by config.enable_reloading with inverted boolean value.

  2. The app/schema.rb has been updated with the output of rake db:schema:dump. For Scalelite, the only changes are that the schema now contains the Rails version (7.1) and how timestamp precision is handled (see here for a lengthy discussion).

  3. Multiple deprecation warnings that are now appearing in Rails test / Rspec runs are NOT addressed yet. Most of them have to be addressed for a move to 7.2 . I will open a corresponding issue mentioning all the deprecations.

As a result of the upgrades, security support is restored for Rails and also Ruby and Alpine. A further upgrade to Rails 7.2 in the near future will secure support until late 2026.

Testing Steps

  • all Rails Tests / RSpecs pass
  • basic API calls (create, join, getMeetings, etc.)
  • getRecordings / recording playback
  • a few rake tasks

More testing by another party would be welcome!

Fixed issues:

#1121

@Ithanil Ithanil marked this pull request as draft November 12, 2024 08:05
@Ithanil Ithanil force-pushed the rails_7 branch 2 times, most recently from 5c0f1a0 to 1df29a2 Compare November 12, 2024 08:16
@Ithanil Ithanil force-pushed the rails_7 branch 3 times, most recently from 36f08cb to e1045e6 Compare November 12, 2024 08:52
@Ithanil Ithanil changed the title Rails 7 Upgrade to Rails 7.1 (+ Ruby 3.3 & Alpine 3.20) Nov 13, 2024
@Ithanil Ithanil marked this pull request as ready for review November 14, 2024 14:08
@farhatahmad farhatahmad merged commit 5208779 into blindsidenetworks:master Nov 22, 2024
2 checks passed
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