「自動車税納税通知書」という不穏な封筒を受け取ったので楽天ペイで支払った。これ、毎年書いてる気がするけどクレジットカードだとシステム利用料がかかる、というのが本当に納得いかない。
楽天ペイに楽天カードでチャージして払っているので実質同じといえば同じなんだけど、なんとかして欲しい。
火曜に準備、水曜に本番と珍しく連チャンで開催。
https://bugs.ruby-lang.org/issues/21956
議題にあることは書いてある通りに眺めたけど、それ以外の最近話しておくこと、見たいのが異様にたくさんあって結局18時過ぎまでぶっ通しでやっていてヘトヘト。これが仕事かつ、いろんな人と話す時間ではあるのでいい時間ではある。
日曜に無くしたのか、というカードケースのリカバリとして、財布で使っている SmartTrack Card の2枚目を買った。今度はペアリングして使い始めると同時にちゃんと音が鳴るのを確認した。
これ、毎月やるのは微妙だけど、ちゃんと繋がるのか、音が鳴るのか、ってのはいざという時のためにチェックした方がいいんだろうなあ。バックアップがちゃんとリストアできるんか、みたいな感じでとても仕事っぽい。
朝起きたらリリースされていた。便利。
https://www.ruby-lang.org/en/news/2026/05/11/ruby-4-0-4-released/
で、各種ワークフローの動作状況をチェックしてみると all-ruby がこけていて、なんで?と調べていた。
https://bugs.ruby-lang.org/issues/22065
どうやら、コードドキュメントの中に UTF-8 が混入しており、rdoc が落ちるというやつだった。ひとまず回避手段はあるので、踏み抜いた人はオプションをつけるなりして対処してください。色々あるものだなあ。
RubyKaigi 2026 のあと 1 回目の開発者会議、のための準備会。
https://bugs.ruby-lang.org/issues/21956
RubyKaigi 疲れなのか、そのまま休暇、という人が多いのか議題はそれほど多くなくさっと眺めてから。RubyKaigi 前後にあったトピックを追いかけたりしていた。
takaknm が宮崎料理を食べに行こう、という企画をしてくれたので御徒町までぶらっと行って食べてきた。
https://asakusarb.esa.io/posts/1298
宮崎っていうと鳥南蛮???くらいの知識しかないのであれこれ食べつつ、RubyKaigi どうでした、という話をしながら横の人たちが焼酎を飲みながらビールをチェイサーにする、というのを見ていた。
21時には眠いです...となるので、強い気持ちで立ち上がって帰宅。お疲れ様でした。
とはいえ作ったのは claude なのだけど、以下の2つで override 機能を実装した。
具体的には以下のような DSL で Gemfile によって定義される gem のバージョンと依存ツリーを操作可能になる。
# rails gem のバージョンを直接/推移依存の両方を 8.0 以上に強制上書き
override "rails", version: ">= 8.0"
# 1つ目と同様のケースで rails gem のバージョンの上限(`< 8.0`など)を撤廃
override "rails", version: :ignore_upper
# legacy gem に対して指定されているバージョン指定を全部撤廃
override "legacy", version: nil
# Gemfile の全ての gem について `required_ruby_version` の上限(`< 4.0`)を撤廃
override :all, required_ruby_version: :ignore_upper
# old_gem 単独について上限を撤廃
override "old_gem", required_ruby_version: :ignore_upper
# old_gem 単独について rubygems の上限を撤廃
override "old_gem", required_rubygems_version: :ignore_upper
使うのは Ruby バージョンの上限撤廃とか、rails を 8 未満にすんな!とかそういう感じだと思うけど、やりようによっては色々できるようになる。これは流石に 4.0 には backport してリリースすることはないので RubyGems 4.1 か、Ruby 4.1 のリリースを待ってください。
ruby-dev バージョンを使えば今すぐにでも試せるので、期待とおかしいのだが、とかは報告してもらえると喜びます。
RubyGems 4.0.11 のリリースをやってる時に rebase merge した pull request を正しく backport できない、というバグを見つけて「マジか...」となり、その時は skip したので真面目に調べて直した。
問題を発見して、直し方を指示して、直したのは claude である。
これで、squash merge、rebase merge、merge commit の3パターン全てについて pull request を backport できるようになって、さらにそれぞれのケースで merge 済みの pull request も正しく検出できるようになったのでより堅牢なリリースができるようになると思う。乞うご期待。