今月はリリース前というのにたくさんあった。流石にこれは 4.0 じゃないでしょ、入れるの???というのがあちこちでありつつ、自分は、というと持って行った議題はないので bundler の gemspec がなんかおかしいというのを調べながら野次馬っぽくコメントをしていた。
https://bugs.ruby-lang.org/issues/21689
議題以外のおかわりも何だかんだと話していて終わったのは20時、本当にお疲れ様でした。
yhonda さんが、bundler の動きがおかしいというのを引き続き報告してくれていて、手順を試したらあっさり再現したのでなんで?ってのをずっと調べていた。
https://github.com/ruby/rubygems/issues/9181
この手のやつ、ローカルだとなかなか発生させにくいので、docker image を起動して大丈夫なパターンとの差分を調べていたら、rbinstall.rb に入れた以下の変更が原因で壊れるようになったようだった。
https://github.com/ruby/ruby/commit/7ce339244953a6c3add543854292c61e9f5bc14b
それでもなんで docker image でだけ起きるの?と https://github.com/ruby/docker-images/ のビルドプロセスを睨めっこしていたら、src と build のディレクトリを分ける out-of-place build をやっており、再現しない手元では src と build が同じという in-place build だっての、手元でも out-of-place build をしてみたらあっさり再現したのだった。
docker とか関係なく、macOS でも再現するならあとはなんとかするだけ、とrbinstall.rbの動きを in-place/out-of-place の両方で問題が起きないようにあれこれ試していたらなんとか着地できそうなコードになったので一旦それでコミットしておいた。この辺、本当に地獄すぎて大変。