Johnman.md

プログラミングのことや個人的なことを書きます。たぶん。

リポジトリのtagをbumpするgh extensionを作った

先日GitHub CLI 2.0が公開され、拡張機能を公開することができるようになりました。

github.blog

最近自分でCLIを書いていてタグを手で打つのが面倒だなぁと思っていたので、いい機会だと思い簡単にリリースをbumpできるgh extensionを作成しました。

リポジトリはこちら。

github.com

作ったCLI

f:id:johnmanjiro13:20210902181837g:plain
動作イメージ

実行するとタグの一覧を取得・表示し、bumpするバージョンを選択するプロンプトを表示します。 patch、minor、majorから次のバージョンを選択することで、新しくリリースを作成することができます。

内部的にはghコマンドを実行しており、gh release createコマンド同様に -R オプションを使って特定のリポジトリを直接指定することができます。 また認証に関してもghコマンドに移譲しているので、普段ghコマンドを使っている感覚で使用することが可能です。

コマンド自体はGoで実装していて、シェルスクリプトからビルドしたバイナリを呼び出すようにしています。 これはgh-contributeを参考にしました。

まとめ

gh extensionは gh- プレフィックスをつけたリポジトリシェルスクリプトを置くだけで公開できるので、気軽に作成することができていいですね。

また何かこういうのあったら便利だなぁというものがあれば作ってみようと思います。