RaspberryPiFoundation / editor-api

Code Editor backend
https://editor.raspberrypi.org
GNU Affero General Public License v3.0
22 stars 4 forks source link

Upgrade to rails 7.1 #324

Closed chrislo closed 3 weeks ago

chrislo commented 3 weeks ago

This PR upgrades Rails from 7.0.4.2 to 7.1.3.4. I've primarily done that to be able to use the generates_token_for method that was added in Rails 7.1 to generate invitation codes for teachers as part of the inviting teachers EPIC, but it's a good idea to keep up-to-date with framework changes as the further behind we get the harder it becomes to upgrade.

To keep the changes to a minimum, I've tried to be conservative in the gems I upgrade, but updates were needed to rails, puma, bullet and rspec-mocks - those changes happen in the first few commits.

After that I go through each of the new default options introduced in Rails 7.1 one-by-one and explain why it's safe to adopt the default (and make any changes where necessary, although these are minimal).

This upgrade has introduced a DEPRECATION WARNING: TestFixtures.fixture_path= is deprecated and will be removed in Rails 7.2 warning when running the tests that I'm not happy about. I haven't been able to track down why that is happening and silence it yet. I didn't want that to hold up this upgrade and subsequent work though, so I've decided not to tackle it in this PR.

chrislo commented 3 weeks ago

Autosquashed those fixup/squash commits and rebased on main before merging.