Open7
GitHub API で tag を生成する
tag を生成するのは結構面倒なはず。
ghcp で出来たら嬉しかったんだけど、出来ないはず
Git の tag には annotated tag と lightweight tag がある。今回作りたいのは annotated tag
lightweight tag の場合
tag reference を生成 https://docs.github.com/en/rest/git/refs?apiVersion=2022-11-28#create-a-reference
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/OWNER/REPO/git/refs \
-f ref='refs/tags/<tag>' \
-f sha='aa218f56b14c9653891f9e74264a383fa43fefbd'
annotated tag の場合
API だと署名が出来ないな。 GitHub App 使えばいけるのかと思ったがそんなことないな
署名されている: https://github.com/suzuki-shunsuke/tfcmt/releases/tag/v4.6.1
されていない: https://github.com/suzuki-shunsuke/mkghtag/releases/tag/v0.1.1
API (ghcp) で生成した commit は署名されている: https://github.com/suzuki-shunsuke/mkghtag/pull/11/commits/b5ce972ec57da733495b4b4463d9ea30774eed7b
ちなみに tfaction の tag も CI で git 使ってるけど署名はされていない