Skip to content

Conversation

@marcus8448
Copy link
Contributor

@marcus8448 marcus8448 commented Dec 19, 2025

Issue

https://otwarchive.atlassian.net/browse/AO3-7231

Purpose

Upgrade to Rails 8.0.

The upgrade was surprisingly (suspiciously?) straightforward, considering it's a major version bump. I'll add additional notes/comments in a review.

Testing Instructions

TBD, see Jira.

Credit

marcus8448 (he/him)

Looked at all uses of to_time:
* used for duration (difference, so zone vs offset doesn't matter)
* stored in model/DB (rails converts to UTC)
* read from model and sent to akismet (rails converts to UTC)
* or just forced to utc

strict_freshness: I don't see any issues arising from it

Regexp.timeout: in my mind, 1s should be sufficient
Copy link
Contributor Author

@marcus8448 marcus8448 left a comment

Choose a reason for hiding this comment

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

Upgrade script wanted puma.rb, but I ignored it per this comment.

It also wanted to set silence_healthcheck_path in production.rb but it doesn't look like we're using the system anyways. (Noting this just in case we want something silenced, but I doubt it.)


# Library for helping run pt-online-schema-change commands:
gem "departure", "~> 6.8"
gem "departure", "~> 8.0"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Didn't see anything of note in the changelog. Note that 8.0.1 seems to have not been published to rubygems (if it does get published I would like to pull it in).


group :test do
gem "rspec-rails", "~> 6.0"
gem "rspec-rails", "~> 8.0"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Changelog, nothing stood out as well.

Comment on lines -55 to -60
# Raise exceptions for disallowed deprecations.
config.active_support.disallowed_deprecation = :raise

# Tell Active Support which deprecation messages to disallow.
config.active_support.disallowed_deprecation_warnings = []

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed from example config, we're not using it anyways.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not sure if this file is needed since the app should be able to respond itself.

Copy link
Member

Choose a reason for hiding this comment

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

These get copied to the Nginx proxy/frontend servers, so if memory serves, they can respond with this rather than going to the backend for it

Copy link
Member

@brianjaustin brianjaustin left a comment

Choose a reason for hiding this comment

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

Some minor things, and I'd like to see testing steps in the ticket before approving. Looks good, generally, though!

Copy link
Member

Choose a reason for hiding this comment

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

These get copied to the Nginx proxy/frontend servers, so if memory serves, they can respond with this rather than going to the backend for it

Copy link
Member

@brianjaustin brianjaustin left a comment

Choose a reason for hiding this comment

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

Thanks!

Copy link
Contributor

@Bilka2 Bilka2 left a comment

Choose a reason for hiding this comment

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

Marking as requesting changes for the to_time thing, regex complexity manual test and rails-i18n upgrade, rest of my comments are optional to address

Copy link
Contributor

@Bilka2 Bilka2 left a comment

Choose a reason for hiding this comment

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

🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants