Androidエンジニア 関根がGitHub ActionsのOSS開発を実装しました。OSS開発に至る経緯や苦労などインタビューしました。
どんなOSSを開発したのですか?
開発をするとき、常にソフトウェアの保守をどうするのかという課題があります。開発をするにあたり、サードパーティのライブラリを使用し開発を行っていきますが、バージョンアップを定期的にしていかないと古いバージョンで開発を行い、技術負債としてたまっていくという状況になりかねません。
もともと依存するライブラリを最新バージョンにアップデートするOSSはあったのですが手動で実行する必要があったため、GitHub Actionsを使用し自動でPull Request(以下、「PR」)を作成するものを開発いたしました。
どうしてそのOSS開発をされたのですか?
ママリのAndroidアプリ開発ではgradleを利用して依存ライブラリの管理をしていますが、数十種類あるすべてのライブラリの更新を定期的に確認し、アップデートの対応をする必要がありました。そのフローを一部分でも自動化すれば、今よりも継続的に作業を進めていけるのではないかと考えていました。ちょうどGitHub Actionsを触り始めていたところだったので、このサービスを利用し開発を進めてみようと思ったんです。
今回の開発にあたり、苦労した点はありますか?
今回開発したOSSはGitHub Actionsを使用しているため、GitHubで動くのが前提となります。開発をして動作確認をするときに、GitHubにあげて確認をしないといけない。当たり前のことではあるのですが、これがすごい面倒でしたね。開発を進めるにあたり、GitHubにあげることなく手元で確認できる方法がないかと探したりもしたのですが、結果的にGitHubにあげて確認をするという方法をとりました。
今後、この開発したOSSをどうしていきたいですか?
まずはママリ開発のフローにいれることで習慣化し知見をため、今後も起こり得る課題をOSSに取り込み進化させていきたいなと思っています。
一方で、今回開発した最新バージョンのものを自動でPRするというフローは既にOSSとして公開されている複数のGitHub Actionsを組み合わせて実現できるかもしれないということもわかりました。ソフトウェアの保守という課題において、いかに効率的に最新バージョンを使用し技術負債を抱えないか。この目的のために、OSS自体を育てていくのか、別の方法での取り組みがいいのか、みたいなところから考えていきたいなと思っています。