bugs.ruby-lang.org のメンテをしていたので、ついでに Bundler 4.0.4 にした。
https://github.com/ruby/b.r-l.o/commit/743f3971dd90618f7b447fb0422c56af2f328573
昨年のリリース直後に試したときは Bundler 4.0.x で変えたインデント数の修正に buildpack がまだ対応してなかったのだけど、この日試したら大丈夫そうだった。
https://devcenter.heroku.com/changelog-items/3531
もし Bundler が原因で動かない〜ということがあれば教えてください。メンテナの schneems と一緒にいい感じにします。
先週くらいから make test-bundled-gems を実行すると fiddle のテストだけが音もなく落ちて何これ?となったので debug していた。
https://bugs.ruby-lang.org/issues/21845
どうやら RUBY_ABI_VERSION が更新されたにも関わらず、古い fiddle.so のバイナリが残っていてロードできないということだった。この辺、bundled gems のビルドシステムはやや特殊なので、うまくリビルドされてなかったということのようでなかなか大変。
この RUBY_ABI_VERSION、開発版を毎日使ってる僕でも便利と思ったことがないんだよなあ...バイナリ互換が崩れてエラーになったらその時にリビルドすればいいじゃん...。
先週の https://bugs.ruby-lang.org/issues/21841 のやつ、nobu が https://bugs.ruby-lang.org/issues/21715 じゃないの?と見つけてくれたので、ruby_3_2 ブランチに入れて様子を見たら無事ビルドもテストも通るようになったので 3.2-3.4 全部にバックポートしておいた。
これであとは icc でよくわからないエラーで ruby_3_2 で落ちるというのをなんとかできれば、久しぶりにオールグリーンが復活する。頑張ろう。