6
0

Github ActionでPRマージ時にリリースタグを自動発行する

Last updated at Posted at 2023-12-12

TL;DR

PRをマージした際に、既存の最新のリリースタグのリビジョンをインクリメントするようにしました。
作ったもの: https://github.com/cacapouh/auto-release

リビジョンをインクリメントさせてタグ発行

例えば、0.0.1が既存の最新のリリースタグだった場合に、0.0.2で新規リリースタグを発行されます。

以下は実際に生成されたリリースノートとタグです。

スクリーンショット 2023-11-27 12.56.39.png

  • リリースノートについて
    • タイトルはPRのタイトルを設定するようにしています
    • ボディは最新のコミットメッセージを設定するようにしています
    • ワークフローファイル内では、以下のコマンドによりリリースノートを作成しています
curl \
  -X POST \
  -H "Authorization: token $GITHUB_TOKEN" \
  -H "Content-Type: application/json" \
  -d "$payload" \
  "https://api.github.com/repos/${GITHUB_REPOSITORY}/releases"

PRのタイトルでリリースタグを指定してタグ発行

また、PRのタイトルにバージョンを記載した場合、
そのバージョンで新規リリースタグを発行するようにしました。

スクリーンショット 2023-11-27 12.57.19.png

バージョンは正規表現で取得しています:

echo '${{ github.event.pull_request.title }}' | grep -oP '\b\d+\.\d+\.\d+\b | head -n 1' # ドット区切りの3連数値であれば何にでもマッチしてしまうため、プロダクトで利用する場合、もう少し制限を加えた方が良さそうです

おわりに

PRマージ時に自動でリリースタグを更新するワークフローを作成しました。
このワークフローを使って、リリースによる手作業を減らすことができれば幸いです

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0