Scala Stewardという、自動的にScalaの依存性をアップデートしてくれるソフトウェアがある。ざっくり言うと、Scalaに特化したRenovateやDependabotみたいなやつ。
以下のようなPull-Reqを作ってくれる。どうやらbuild.sbt
を正確にパースしているらしく、トリッキーなビルド設定でもバージョンを上げてくれるようだ。
普通はこのソフトウェアを定期的に起動することでPull-Reqを作らなければならないのだが、なんとVirtusLab社がインスタンスをホストしてくれている。このインスタンスを使うと、公開リポジトリであれば無償で勝手にScala Stewardの機能を使うことができる。ありがたい限り。
手順
VirtusLab/scala-steward-repos
リポジトリにrepos-github.md
があるので、これにリポジトリを1行追加するPull-Reqを作成すればよい。
自分がak4-lambda(AWS IoT ButtonとAWS Lambdaで勤怠を打刻するためのツール)を登録したときは以下のような感じのPull-Reqを出した:
フォークして1行追加してPull-Reqするだけなのでとても簡単。即日マージされた。また数日するとライブラリのアプデのためのPull-Reqが生えると思う。
基本的に何もしなくてもScala-Stewardは動いてくれるが、.scala-steward.conf
を用意すると動作をカスタマイズできる:
おまけ
一方、Renovateでもけっこうイケるという話題があり、むずかしいところ。
Scala特化ルールではまだScala Stewardのほうに分があるという感じ。例えば、sbtのバージョンが上がったときなどには必要に応じてScalafixを用いたマイグレーションを行うことができる: