Renovateでcpanfileの依存モジュールを自動的に更新できるようにするまでの道のり by ikesyo

YAPC::Hiroshima 2024
トーク (20分)

Renovateでcpanfileの依存モジュールを自動的に更新できるようにするまでの道のり

ikesyo ikesyo ikesyo
2

RenovateはDependabotと並ぶライブラリの自動更新ツール・サービスです。OSSとして開発されており、私もコントリビューションしています。

私が所属する株式会社はてなでは2019年からRenovateを導入していますが、当時はPerlのcpanfileには対応していませんでした。そこで2022年の春、私は一念発起してRenovateのcpanfile対応に着手しました。まずはPoCとして、正規表現で任意のファイルを扱えるカスタムマネージャーを活用するところから始め、そこから段階的にversioning、datasource、manager というレイヤーを実装し、2023年5月にcpanfile対応がリリースされました。

本トークでは各ステップでの工夫や苦労を振り返りながら、PerlでのRenovate利用と、Renovate自体の開発についてご紹介します。