トップ «前の日記(2019/03/04 (月) ) 最新 次の日記(2019/03/06 (水) )» 編集 RSS feed

HsbtDiary


2019/03/05 (火) [長年日記]

RubyGems 3.0.3/2.7.9 をリリースした

脆弱性の修正を含む RubyGems の新しいバージョンをリリースしていた。

これ、hackerone に報告が来てからこんな感じの修正かねえというパッチはあったものの、あらゆるものの調整が行われてなくて塩漬け、だったのをえいやっと全部調整してリリースしたのがこれ。具体的には

  • hackerone の報告一覧を眺めて自分が理解できて直せそうなものを triage
  • 報告者とパッチの投げ合いをして、これで治ってる?というのを数回繰り返して approve をもらう
  • MITRE から CVE のアサインリクエストを投げる
  • CVE が発番されたら hackerone のチケットに紐付けてリリース予定を作る
  • リリースする対象の RubyGems のブランチそれぞれにパッチを当てて CI を通す
  • 一緒に RubyGems 開発者の中でレビュー
  • CI が通った後のパッチをそれぞれ作って、Ruby 開発チームに共有
  • ここでレビューが入って追加で直したり
  • この辺でもうこのコードで行く、という強い気持ちを高めて確定させる
  • リリースアナウンスを用意
  • プラットフォーマーとしての heroku にリリース予告をして、事前にテストをしてもらう
  • よっしゃリリースだ、と思ったら前日に Ruby 1.8/1.9 で動かないコードがあって、CI が落ちているというのを見つけたので慌てて直す。ほんと悲しい。
  • US ユーザーにもいい感じに伝搬させるために朝一でリリース
  • リリースした後は hackerone や GitHub の issue のステータスを更新して落ち穂拾い

というのをやっていた。これをオープンな場所ではできなくて、誰かがハンドラーとなって private communication だけで進める必要があるってのがきついよねえ。もうちょっと playbook らしく形式化できればいいんだけどね... こういう話を builderscon でやると面白いのかなあ。

Asakusa.rb 第 503 回

今週は代々木の Repro さんで開催でした。

https://asakusarb.esa.io/posts/926

RubyGems リリース後のあれこれをコメントしたり閉じたりしながら Rails DM と RubyKaigi のスライドの表紙を作るなどしていた。そろそろえいやっと未来に向けた開発を再開しよう。