buranko v2.0 でテンプレートを使えるようにした
buranko v2.0.0 をリリースした。
テンプレート
今回の目玉機能で、アウトプットの形式をテンプレートで定義できるようにした。
例えば git config buranko.template ABC-{{.ID}}
と設定して template
オプションを指定してコマンドを実行すると ABC-1234
というアウトプットが得られる。
$ git config buranko.template ABC-{{.ID}}
$ git checkout -b feature/1234_foo-bar
$ buranko -template
ABC-1234
{{.ID}}
には output
オプションで指定するフィールド名を指定できる。
経緯としては、課題管理に JIRA を使っているプロジェクトがあり、コミットと Issue を紐付けるために ABC-1234
という形式でコミットコメントを入力したかったため。
foo-org/bar-repo#1234
のように、ID の前にリポジトリ名を付けられる reponame
オプションは、テンプレートで同様のことができるようになったので削除した。
移行する場合は以下のように指定すればよい。
$ git config buranko.template foo-org/bar-repo#{{.ID}}
テンプレートの実装には text/template パッケージを使用した。
LinkID フィールドを追加
output
オプションに指定できるフィールドに LinkID
を追加した。
LinkID
フィールドを指定すると #1234
という形式のアウトプットが得られる。
$ buranko -output LinkID
#1234
ref
オプションも同じ挙動だったが、LinkID
フィールドで同様のことができるようになったので削除した。
v2.0.0 からは Git の prepare-commit-msg hook に以下のように指定すれば、ほとんどのユースケースに対応できると思う。
buranko -output LinkID -template
バイナリのリリースに GoReleaser を導入
CLI の バイナリのリリースに GoReleaser の GitHub Action を導入した。
YAML を書くだけで、タグを作成したらバイナリをリリースしてくれるようになった。とても便利。
Pre-release で Releases を作っても解除されたり、生成される Changelog が一部のコミットしか表示されないのが少し気になるポイント。