ピュアな EC2 で作ってるサーバーをマネージドに持って行ったり、どこかで動いている VM をバラバラにして AWS に持っていく中でサーバーにログインして編集作業〜、みたいなやつを減らそうと、Ruby コミッタ向けの鍵管理を GitHub でやるようにした。
とはいえ、今の時点で使っている鍵には明らかに弱い DSA 鍵が残っていたり、RSA でも 1024bit な鍵があったりと、これを GitHub に入れて pull-request で更新してくれ〜、とやるにはちょっとリスクあるよね、ということで事前にアナウンスして弱い鍵を全て消してしまった。
https://bugs.ruby-lang.org/issues/19162
実際に弱い鍵を探すには ssh-keygen -l -f ./authorized_keys
って感じで情報を出してから sed で ssh-dss
であるとかをバッサバッサ消していった。なんか慣れてくると rsa でもこの長さは弱そう、というのがわかってくるのでそういう感じで。なお、ここだけの話だが Matz の鍵が弱い鍵しかなくてバッサリ消したら Matz のコミット権がないという面白い状態だった。ちょうど開発者会議だったので ed25519 な鍵を作って登録してもらうことで面白い状態は回避された。
https://github.com/ruby/git.ruby-lang.org/pull/65
鍵を消し終わってからは mitamae を使って雑にデプロイするようにした。これで、鍵を受け取って僕や shugo さんが Git サーバーにログインして登録、ということをやらなくてもここに pull-request 出して、で終わるようになった。最高に便利。
https://github.com/ruby/syntax_suggest/tags は今までは vX.Y.Z
が直列に並んでいて v4.0.0
と言われてもそれは syntax_suggest
のものではなく、dead_end
時代のもので混乱しそうなので古いやつは dead_end-vX.Y.Z
にリネームしてはどうか、と提案してリネームしておいた。
https://github.com/ruby/syntax_suggest/issues/167
最近この手のやつをやる時は xargs -I{}
を多用するようにしていて今回のも git tag | xargs -I{} git tag {} dead_end-{}
みたいな感じでシュッとできた。便利。
Ruby 3.2 のリリースが来週末、って状況になってきたので https://github.com/ruby の下にある gem の中で github でだけ開発が進んでいたり、コードの変更を伴ったものがバージョニングとしてリリースされてない gem をバンバンリリースした。テストや .github の変更までスコープに入れるとユーザー的には意味のないものもあるので、あくまでも lib や ext の下と gemspec に変更があったものだけを対象にした。
こうしてみると、もうほとんど変更が入りません、みたいなやつも見えてきたので Ruby 3.3 ではこの辺は bundled gems に追い出していくつもりです。