RailsのRuby masterブランチでのCIについて複数回聞かれたのでメモしておきます。
-
Rails main branch
7.2.0.alpha
で Ruby 3.1.0 を要求するようになった rails/rails#50491 -
従来はメジャーバージョンが変わる時だけrequired_ruby_versionをあげていた(https://github.com/byroot/rails/commit/6487836af8f50648a9b30ce61864c827132e5592 )が、そのルールだとRails 7.2ですでにEOLになっているRuby 2.7への対応が必要になる
-
commitごとに実施されている https://buildkite.com/rails/rails/builds?branch=main
-
利用しているDockerイメージ https://hub.docker.com/_/ruby にある
ruby:3.3
,ruby:3.2
,ruby:3.1
-
デイリー(日本時間の午前9時)で実施されている https://buildkite.com/rails/rails-nightly
-
利用するDockerイメージ https://hub.docker.com/r/rubylang/ruby/ にある
rubylang/ruby:master-nightly-jammy
とrubylang/ruby:master-debug-nightly-jammy
rubylang/ruby:master-nightly-jammy
はYJIT有効と無効にしている。 Rails 7.2からアプリケーションとしてはYJITが有効になるようになった rails/rails#49947 が、フレームワークとしてのテストは今の所別扱い