ActiveStorageの不具合報告をやりやすく
Add bug report templates for Active Storage by r7kamura · Pull Request #37888 · rails/rails 出したらmergeされたよって話。
スポンサーで浮かれてOSSをやる
GitHubスポンサーの審査を通過した旨をTwitterでつぶやいたところ、何人かにすぐにスポンサーになってもらえてモチベートされたので、Railsで最近気になっていたところについてPull Requestを送ってみることにした。
https://github.com/sponsors/r7kamura
気になっていたところというのは、ActiveStorageについて。仕事ではよくRailsのアップグレードを請け負っていて、いろんな会社のRailsアプリをRails 6にしているのだけど、「ActiveStorage 5だと動くのに6だと動かない!」という問題にあたることが多くて、最近はActiveStorageにIssueを出す作業をやっていた。
ActiveStorageの既存Issueを眺める
過去のActiveStorageに関するIssueを読んでみると、丁寧な人は問題を再現させるための専用のサンプルRailsアプリをPublicリポジトリに用意して、そのURLを貼ったりしている。でも大半の人は、自分のアプリから抜き出してきたコード片を貼り付けているだけだったりして、これだと直す側も直しづらいし微妙だなとは思っていた。
しかし、そのためだけにサンプルのRailsアプリを用意するのが面倒だという気持ちは理解できて、実際自分もIssueを出すにあたって、Railsアプリをつくるのを少し躊躇した。
rails/railsリポジトリには、不具合報告用に、1ファイルで実行可能なテストのテンプレートが用意されている。ActiveRecord用、ActiveJob用、ActionController用などがあるのだけど、ActiveStorage用のものはこれまで存在していなかった。
不具合報告用テンプレートを用意する
それで今回少し時間をとって、汎用的に使えるテンプレートをつくり、冒頭に挙げたPull Requestを出してみた。すぐにmergeされたので、masterブランチでは既に見られるようになっています。Railsガイドにもこのテンプレートに対してリンクを用意していて、edge版のRailsガイドでは既に反映されているけど、本家Railsガイドのほうには現時点ではまだ反映されていないので注意。
これでIssueの品質が良くなって、ActiveStorageの開発が捗るようになってほしい。