トップ «前の日記(2026/02/25 (水) ) 最新 次の日記(2026/02/27 (金) )» 編集 RSS feed

HsbtDiary


2026/02/26 (木) [長年日記]

NEWS に GitHub releases へのリンクを追加するやつを ruby/ruby の CI に統合した

3.4 くらいからリリース時の NEWS に前のバージョンからの更新履歴、つまり Ruby 3.3 にバンドルされている foo-1.0 が 3.4 で foo-1.3 になったら、1.1, 1.2, 1.3 それぞれのリリースノートへのリンクを NEWS に追加するようにしていた。

これは、バージョンが foo-1.3 になりました、と言われても「で、何が変わったんですか?」というのはユーザーが頑張って調べるか、なんか動かなくなったら真面目に調べるという感じなのは微妙だなあと、リンクをバンバンクリックすれば変更履歴にアクセスできるようにしたものだった。

このリンクは手元にある謎スクリプトで

  • 指定したバージョンの Ruby バージョンから stdgems.org が提供している json を元に gem のバージョン一覧を抽出
  • NEWS.md の内容から更新があった gem のバージョン一覧を抽出
  • 前の Ruby との gem バージョン差分 Range を導出して、それらが GitHub releases としてリリースノートが作成されているかを抽出
  • GitHub releases が存在していればリンクを抽出して追加すべき txt を出力

ってのをやっていた。で、流石にリリース直前にこれを手動でやるのはしんどくなってきたなあとか、やった後にすでに存在する NEWS 更新スクリプトが実行されると追記した内容が全て消えるという処理になっていてだるいなあとかあったので Agent の力を借りながら謎スクリプトを ruby/ruby の中に放り込んで動くようにした。

https://github.com/ruby/ruby/pull/16254

とりあえずスクリプトは分けて見たけど、NEWS.md 更新スクリプト、として1つにしてもいい気はする。なんか動かして検証してみたら、元々の NEWS.md スクリプトも動かないオプションがあったりとしてなんか怪しい。

Zed を使い始めた

開発環境のメンテの続きとして zsh に続いてエディタも vscode から Zed にしてみた。

https://zed.dev/

vscode 自体にそれほど不満はないけど、好印象もないって感じで、antigravity みたいな AI Agent builtin なエディタがいいなあと思いつつも、antigravity は全く XDG のことを考えてなくてだるいなあとなっていたので、Zed を触ってみたところ XDG にも対応しているし、AI 周りも自分が持っている各種アカウント情報を入れれば切り替えて使うことができるという感じだったのでこれでいいな、となった。

基本的に標準でできる機能しか使ってなくて、最初に Emacs キーバインドを設定してから、Ruby 拡張を入れる、AI Agent 周りで GitHub と Gemini のアカウントを突っ込む、autosave で 1sec で保存を設定したら十分だった。しばらくこれで過ごしてみて良さそうなら vscode 関連のファイルは削除しようと思う。

vscode、この時代になるとなんでも拡張で頑張るとか GitHub を優先しなければ何か、というあたりが足枷になってるような気がして、イマイチ感が高い気がする。