rnssh, rnzooの新しいバージョンを出そうとするときに、別リポジトリになっているhomebrew-rnssh, homebrew-rnzooを編集してpushするのが、地味に面倒だと思うようになり、他の自動化でも使えるかなと考えて、Pull Requestの自動作成をやってみるようにしてみました。
こんな感じで動かします。今回はversionとsha256 hashを渡してます。
bash genpr.sh 0.0.0 ab01cd23ef45ab01cd23ef45ab01cd23ef45ab01cd23ef45
コードはgistに。rnzooのhomebrewのバージョンアップ対応。
手順としてはすごく単純で、以下を行っているだけ。
実際にできたプルリク(テストなのでクローズしてます)
sedで編集している部分は、方法は何でもよく、コードで書き換えられるなら、他の用途にも使えそうです。AWSのCodenizeに使ってるroadworker(Route53)やmiam(IAM)などの定義追加や変更は、この応用でPull Requestを生成できそうな雰囲気。
hubコマンドは、githubをCLIで操作できるもので、githubのreleaseも作れるようなので、あとはそこをスクリプトにすれば、リリースが全部自動化できます。最後のhomebrewの反映だけプルリクをマージのワンクッション。*1
rnsshとrnzooのリリース自動化状況
参考
*1:今回の場合は別にPull Requestでなくてmasterにそのままpushするでもいいんですが、練習と個人的に最後の一押しは手でいいかなというところ。