見出し画像

すべてのRailsアプリをRuby 3.3.1へアップグレードした

2024-10-10追記: 本日時点では一部のRailsアプリがRuby 3.4.0-previewX、その他のRailsアプリがRuby 3.3.5ベースで動作しています。
2024-09-10追記: 本日時点ではほぼ全てのRailsアプリがRuby 3.3.5ベースで動作しています。
2024-07-16追記: 本日時点ではほぼ全てのRailsアプリがRuby 3.3.4ベースで動作しています。


私が見ているRailsアプリケーションを今年2024年年初にRuby 3.3.0へのアップデートして久しい。2024年4月23日にセキュリティ脆弱性3件が発表され、同日付でその対応パッチが含まれたRuby 3.3.1がリリースされた。Ruby 3.3.0で動かしていたアプリケーションをRuby 3.3.1にアップデートする計画を立てて、その全てが完了した。日本ではゴールデンウィークがあるため、その前に完了できてよかったと安心している。

ポイント

1.1 Bootsnapで問題が発生を解消(Ruby 3.3.1向けワークアラウンドの追加)

後述(ポイント2.1)するワークアラウンドを削除できることがあらかじめ分かっていたため、喜んでいたが、bootsnap gemとzeitwerk gemを併用していたため、追加のワークアラウンドを入れる必要が出てきた。追加ワークアラウンドを含めたくない場合は、bootsnapを無効化する手段があるが、デメリットが大きいと判断し、こちらの手段は採択していない。

2.1 開発者体験の向上(Ruby 3.3.0向けワークアラウンドの削除)

arm64系のRuby 3.3.0で発生していた問題をRuby 3.3.0向けワークアラウンドを追加することで対応していたが、こちらを削除できたので開発者体験が向上した。当該プロジェクトでは新規入社者が増えており、大規模入社が始まる前に開発者体験が元の状態に戻ったのは喜ばしい。Dockerfileベースのコンテナ開発環境を用意しているが、container image prebuildなどの施策はまだ行なっていないため、このような外部環境に内部開発者体験が揺さぶられてしまうが、こちらのあたりもDevExの文脈で早急に改善していきたい。

まとめ

Ruby 3.3.0からRuby 3.3.1へのアップデートが完了した。

GW

上記の施策を終えたので、わずかながらの休暇でも取ろうかなと思う。

Kyoto, Japan // Photo by Launde Morel on Unsplash


この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?