sue445 さんも書いていたが ruby/rubygems の CI は 1cycle が 50-60分かかり、本当に効率が悪くメインメンテナである自分でも嫌になるくらい遅い。
以前に小池さんが、雑にテストを半分ずつ消してそれぞれを別の runner で動かしたら実行時間が半分になった、みたいなことをどこかで話していたのを思い出して、似たようなことをやったら 50 分の実行時間が 20 分になった。
https://github.com/ruby/rubygems/pull/9158
まず rspec --profile 10000 とか数字は適当に入れて全てのテストを実行した上で実行時間を stdout から手に入れて、それを gemini などに食わせて均等な実行時間になるようにテストファイルを分類、その分類で RSpec.describe にタグを a-d で割り振って実行してみたら1/4にはならないものの、1/3くらいにはなった。
その後に gemini に、テストファイルを変更しないでタグをつける方法はないのか、と探させたら define_derived_metadata でできるよ、というのを見つけてきたので pull-request にあるような実装で spec_helper.rb の修正だけでなんとかなってしまった。最高。
ちょっとオフィスに行く用事があり、あれこれした後になんか食べるかなあ、田町なんもないな...となったのでミッドタウンまでちょっと足を伸ばしてきた。
昼時だったからか、いつものレストラン通りは混みまくっていたので、21_21 側にあるハンバーガーショップでハンバーガーを食べた。
そのあとはサントリー美術館でやっている根来の漆器展示をさらっとみた後に、虎屋などで買い物をしてから帰宅。外に出るから、と外食に行こうとするとどこも混みすぎて「家でなんか食べてればいいや...」って気持ちが高まり続ける。
freebsd 15 がリリースされたというの IT 系のニュースで見たので、公式サイトにある AWS のマーケットプレイス URL 経由でインスタンスを立ち上げて Ruby CI に追加した。
freebsd は x86 しかないな、と思い今回は arm64 にしてみたら、mitamae で対応するバイナリがなくてプロビジョニングができない、というところからスタート
https://github.com/itamae-kitchen/mitamae-build/releases/tag/v1.14.4.1
必要なコンポーネントを入れてバイナリを置く、というのは OpenBSD の時にやっていたので大体わかっていたけど、Immutable Releases が org 全体で enforce されていてだるかった。別にバージョンを上げているわけでもなく、単に対応しているバイナリの追加すらできないっていうね。何も気持ちがないので .1 な tag を追加してリリースした。
その後に freebsd15 のプロビジョンをして chkbuild をまわしてみたらエラーでテストが実行されない。なんだ、と思いみてみたら sysctl で取得するパラメータの一部が対応してないということだったので雑に消した。
https://github.com/ruby/chkbuild/commit/87099dd5abb401db7966420469ce53192577e5f1
これをやってやっと freebsd15 arm64 なビルドが回り始めたので終わり。
https://rubyci.s3.amazonaws.com/freebsd15-arm/ruby-master/summary.html
お疲れ様でした。なんか色々いじってると環境構築力の高まりを感じる。
こっちはというと、何回も追加していることもあり、さらに x86 系のアーキテクチャなので何も困ることがなく追加が完了した。
https://rubyci.s3.amazonaws.com/fedora43/ruby-master/summary.html
しかも特にエラーもなく、追加、あとは見守り、という優等生 OS。
Kindle Unlimtied の地球の歩き方雑学シリーズのすごい墓を読んだ。
ライターかつトラベラーである人がひたすら世界中のあちこちにある墓を巡った記録集、って感じだった。
遺跡のようになっているものから、単純な墓など雑学系のシリーズにしては読み応えがあってよかった。割と「ここ行ったな...」というのを思い出したり、ここには行っておきたいなあと感じさせるものもあったのが収穫かな。
beta3 を出すかなあ、と悩んでいたがそれほど広く使われているわけではなく、beta2 からの差分もあまりなく、12月に入ってしまったのでさらに伸ばしてもな、ということで 4.0.0 をリリースした。
単にリリースノートだけ流しても、なんのこっちゃというか、物好きしか読まないよな、と思ったのでアップグレードガイドというか非互換 FAQ みたいな文章も一緒に公開しておいた。
ここには書かないが、なんか色々あり自分がやるしかないと本当に大変ではあったけど、なんとかリリースできてよかった。12-3-4 と並んで語呂がいいので記念日にしようと思う。
Kindle Unlimited を眺めていたら地球の歩き方の中国エリアのあれこれが対象になっていたので、まずは西安など西武のやつを読んだ。
三国志でいう馬騰の都市じゃん!などがちらほらとありつつ、始皇帝陵は行けるなら行きたいけど、無理かなあ...などは読みながら考えていた。
シリーズ購読で配信されたので読んだ。なんと今号で最終巻だった。
センゴクで省略された関ヶ原前後についてだったけど、関ヶ原の合戦自体は史実通りに一瞬で終わるという流れで、戦後の仕置きもそれほど詳しくなくて、主に関ヶ原に至るまでの政治的な駆け引きについての漫画だったのだなあという感想になった。