ghr 0.9.0をリリースしました
https://github.com/tcnksm/ghr/releases/tag/v0.9.0
GitHub Releasesに手軽に成果物をアップロードできる、みんな大好きghrですが、最近deeeetさんが忙しく、メンテが滞っていたこともあり、僕もメンテに加わらせてもらうことにしました。
ghrは僕個人として常用させてもらっている他にも、Mackerelのプラグイン作成時にも利用を推奨しています。今回取り込んで欲しいpull requestがあったため、メンテ権をいただくことにしました。
そのあたりのpull requestを諸々マージして、ghr v0.9.0をリリースしました。0.5.4からジャンプアップ気味ですが、そろそろ1.0.0を見越してもいいのかなと言う気持ちです。
今回一番大きな変更点は、リリースがアトミックになったことです。これが今回入れてほしかった変更です。
これまでのghrでは
- リリースを作成する
- そのリリースに対して成果物をアップロードする
という手順になっており、1と2の実行間でlatest releaseを取得しようとした場合、そのリリース中のバージョンを取得してしまい、正しく成果物を取得できない可能性がありました。これを以下のように変更しました。
- リリースをDraftとして作成する
- そのリリースに対して成果物をアップロードする
- リリースのDraftを解除する
これで、最新のリリースを取得した際に、必ず必要な成果物が含まれている状態を保証できるようになりました。
また、成果物のアップロード失敗時に2回までリトライするようになったことも目玉の変更点です。これでより安定的にリリースをおこなえるようになります。
その他、リリースフローや依存関係のアップデートをおこないました。より安定性と信頼性の増したghrを是非ご利用ください。
homebrew formulaをどうするかはちょっと保留中です。ghtoolsというorgを取得したのでそちらに移すことも考えています。1つのツールに1つのformula repoを作るのもどうなのかという気持ちもある。ご意見ください。