トップ «前の日記(2026/05/28 (木) ) 最新 編集 RSS feed

HsbtDiary


2026/05/29 (金) [長年日記]

rubygems の test-unit を並列実行できるようにした

昨日の test-unit cli 追加の過程で --parallel=process というオプションがある、というのをメンテナの方から教えてもらったのでそれじゃ、と rubygems で rake test:parallel を単独でできるようにしてみた

https://github.com/ruby/rubygems/pull/9572

rubygems のテストはシーケンシャルにやっても2分かからないくらいで終わるまあまあ速いやつなだけど、C や Rust のビルド待ち、なところが並列実行だと別のテストをガンガン実行するのでトータルで 1分くらいまで縮んで最高だった。

macos-26 対応をしていた

macos-latestmacos-26 になるよ、というメールが来ていて、そういや macos-26 を CI に追加してなかったわ、と Ruby や RubyGems に追加していた

ついでに macos-15-intel を最小ベースで job として用意したら bundler のテストが2倍近く遅くて「マジかー」となってしまった。しょうがないので Windows でやってたようにテストを縦に分割して別のジョブで実行するようにしたり。

https://github.com/ruby/rubygems/pull/9575

macos-15-intel はいつまでサポートするのかは知らないけど、まあこんくらいでいいだろう。

Bundler に cooldown 機能を追加中

https://github.com/ruby/rubygems/discussions/9113#discussioncomment-16501550 で大体仕様を確定させてからしばらく経ったけど、rubygems.org 側でもどう配信させるか、という計画と作業が進んできたのでそれらを踏まえつつ、cli として開発を開始した。

https://github.com/ruby/rubygems/pull/9576

実際にコードを書かせて、レビューをループさせると、マイナスの値が来た時は、空文字の時は、などエッジケースがポンポン出てくるので、それはこうして、一旦保留して後で決める、みたいなことがどんどん出てきて、なかなかに大変だった。

多分、来月くらいには出せる、気はするけどこれを 4.0.x にするか 4.1.x として切り出すかはどうするかなあ。こっちの方が悩みとしては深い。うーん。