ruby/ruby のリポジトリでは、CloudBees の Smart Tests (旧 Launchable) を使っていて、テスト結果の記録をしつつ flaky なテストのスコアとか、落ちたテスト名などが Web から確認できる。
で、DataDog の MCP を使い始めた流れでふと datadog にも似たようなテスト結果を記録して MCP で呼び出して何かをする、ということができるということを知って、Smart Tests でもなんかできないんすか、というのを onomax さんに聞いたら CLI があります、というのを教えてもらったので試してみた。
https://github.com/cloudbees-oss/smart-tests-cli
で...ドキュメントなどはあまりないので、何でも雑に claude の方針で、「CLI 読み込んでどう使うか教えて」、からの必要な環境変数を渡して「つながるか確かめて」「API 呼べる?」くらいまでやってからより具体的に「ここ1週間で落ちる頻度が上がったテストを教えて」と投げたら、しばらくあーだこーだしてからテスト名を2-3つ出せるようになった。
で、そこから「このテストが落ち始めたコミットを特定して」と投げたら、このコミットです、と自分のコミットを出してきた時には笑ってしまったけど、CLI を使えるようにしたところから、こう API を呼び出します、というところまで大体学習したので次回以降はもう少しスムーズに行けそう。
https://github.com/cloudbees-oss/agent-skills/pull/2
に、手元にあるメモリは skill として使って下さい、と投げておいたので今後はもう少し便利になるかもしれません。こういうの、調べ方はこうした方がもっと効率がいいです、とか工夫した方がいいんだけど、外から見る限りはこれが限界...。
つい最近、Ruby のメーリングリストがサービスのポリシー変更で無条件参加ができなくなってしまい、参加登録するたびに管理者である僕か shugo さんがぽちぽち承認することになってしまった。
で、サービス側に何とかならないのか、と聞いたら、無条件参加にしてもいいけど spam 配信とかあったらすぐに ML 止めるとよ、と割と厳しい返事が来て困ったなあとなっていたので claude cowork で何とかしてみた。
何とか、と言っても cowork の仕組みをざっくり把握してから、Gmail に承認依頼のメール(実際には from とか文面とかを細かく指定)が来たら claude for chrome を入れているブラウザで承認画面を開く、これを 9:00 に実行する、というやつを組んでから軽く試して動いたのでよし!って感じ。
これ、手元では自動化かつスケジュール組めていいんだけど、じゃあ shugo さんに渡せるのか、というと個人アカウントだとなかなかむずいっぽい。こういう自動化は別に、って感じだけど自分だけが楽になってもしょうがないからなあ。引き続き調べていきます。