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 Ruby 3.3 and Rails 7.2 #5983

Closed
2 of 4 tasks
joncameron opened this issue Aug 13, 2024 · 5 comments
Closed
2 of 4 tasks

Upgrade to Ruby 3.3 and Rails 7.2 #5983

joncameron opened this issue Aug 13, 2024 · 5 comments
Assignees
Labels
dependencies 👨‍👦‍👦 Pull requests that update a dependency file

Comments

@joncameron
Copy link
Contributor

joncameron commented Aug 13, 2024

Description

Rails 7.2 is available and includes intriguing performance improvements among other changes (and a new Ruby version). For Avalon 8.0 we should update to the latest Rails version to stay current with one of our primary dependencies.

Done Looks Like

  • Upgraded to Rails 7.2
  • Upgrade to Ruby 3.3
  • Update Samvera components if they aren't compatible with latest Ruby and Rails versions
    • Cut releases for the components—further update components that were previously upgraded to 7.1
@joncameron joncameron added the dependencies 👨‍👦‍👦 Pull requests that update a dependency file label Aug 13, 2024
@joncameron joncameron changed the title Upgrade to Rail 7.2 Upgrade to Rails 7.2 Aug 13, 2024
@joncameron joncameron changed the title Upgrade to Rails 7.2 Upgrade to Ruby 3.3 and Rails 7.2 Aug 13, 2024
@joncameron
Copy link
Contributor Author

Could be 8 points, depending on how painful the Rails upgrade is.

@masaball masaball self-assigned this Aug 15, 2024
@masaball
Copy link
Contributor

masaball commented Aug 16, 2024

Notes:
Active fedora: /lib/active_fedora/scoping.rb#ln69 ActiveSupport::PerThreadRegistry is deprecated/removed. Need to switch to thread_mattr_accessor

  • Has a PR for 7.1 upgrade that was never merged but tests are passing.
  • @cjcolvar will look at what's needed for 7.2

hydra-head needs to be updated. Most recent release is rails < 7.1 (@cjcolvar)

noid-rails needs to be updated for 7.2, main supports 7.1 but a release has not been cut with 7.1 support (@masaball)

samvera-persona needs to be updated. Most recent release is rails < 7.1 (@masaball)

browse-everything needs to be updated for 7.2, most recent release supports 7.1.

  • We use our own fork of browse-everything. Should we commit that back upstream?
  • Jonathan Rochkind is usually good about keeping this up to date. We could contact him about his plans for that before trying to upgrade it ourselves: allow and test on Rails 7.2 samvera/browse-everything#424
  • Wait for upgrade of upstream, then rebase our fork. Potentially commit our fork back upstream later.

active_annotations needs to be updated. Most recent release is rails < 7.1.

  • Tried updating but circleci is not working. Github had deleted the public key it had on record. I tried reissuing the ssh key, but now it is erroring trying to communicate with dockerhub
  • Maybe we can bring this into avalon and stop having it as separate gem and just not worry about fixing circleci? Roll active_annotations gem into core Avalon #5992

Non-samvera/non-local gems:

  • selenium-webdriver gem does not depend on rails, but could be updated. This has potential to break stuff in the testing suite.
  • If we can update selenium, there is a separate webdrivers gem which is no longer necessary with the most recent versions of selenium

Non-breaking messages from bundle update that may be relevant:

Post-install message from about_page:

  To use the git_log node type, add the following line to your Gemfile:
  gem 'rugged'
Post-install message from rdf-xsd:

  For best results, use nokogiri and equivalent-xml gems as well.
  These are not hard requirements to preserve pure-ruby dependencies.
Post-install message from devise:

[DEVISE] Please review the [changelog] and [upgrade guide] for more info on Hotwire / Turbo integration.

  [changelog] https://github.com/heartcombo/devise/blob/main/CHANGELOG.md
  [upgrade guide] https://github.com/heartcombo/devise/wiki/How-To:-Upgrade-to-Devise-4.9.0-%5BHotwire-Turbo-integration%5D
  Post-install message from rubyzip:
RubyZip 3.0 is coming!
**********************

The public API of some Rubyzip classes has been modernized to use named
parameters for optional arguments. Please check your usage of the
following classes:
  * `Zip::File`
  * `Zip::Entry`
  * `Zip::InputStream`
  * `Zip::OutputStream`

Please ensure that your Gemfiles and .gemspecs are suitably restrictive
to avoid an unexpected breakage when 3.0 is released (e.g. ~> 2.3.0).
See https://github.com/rubyzip/rubyzip for details. The Changelog also
lists other enhancements and bugfixes that have been implemented since
version 2.3.0.

@masaball
Copy link
Contributor

Samvera-persona gem has the same issue as active-annotations where github retired the public key it had on record. Will probably need to coordinate with Rob Kaufman to get that set back up.

@cjcolvar
Copy link
Member

I may be able to help with this.

@joncameron
Copy link
Contributor Author

@joncameron Create a new issue for cutting releases for component gems for the news Rails version. Won't happen at all the same time, and we may have to keep updating Avalon to point to new tags as needed. This will most likely be reactive as we go through development for this release and could be part of preparing for release when we're ready for that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies 👨‍👦‍👦 Pull requests that update a dependency file
Projects
None yet
Development

No branches or pull requests

3 participants