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 の バイナリのリリースに GoReleaserGitHub Action を導入した。

YAML を書くだけで、タグを作成したらバイナリをリリースしてくれるようになった。とても便利。

Pre-release で Releases を作っても解除されたり、生成される Changelog が一部のコミットしか表示されないのが少し気になるポイント。

© 2023 暇人じゃない. All rights reserved.