GitHubでリリースノートを自動作成したい
GitHubのリリースノートって便利な機能がある
リリースを行なう際はタグを運用していくことが多いと思います。プラスαとしてリリースノートで何がリリースに含まれたか記録していければ便利ですよね。この便利機能がGitHubには備わっています。さらに本文の自動生成もあるらしい。以下で検証していきます。
自動生成ノート、1回目
右側のCreate a new release

タグがなかったらCreate。既存のタグを選択も可能

タイトルを入力。日付やタグをそのままいれると良さそう

Generate release notesを選択

本文になにか変更が記載された。この状態でPublish releaseを押して見る

あれ。。想像と違う・・・WhatsNew的なのでるとおもったのに。。。

自動生成ノート、2回目
.github/release.ymlがあるとよいみたいだ。作成してみる。
changelog:
exclude:
authors:
- github-actions
categories:
- title: Features
labels:
- enhancement
- title: Fixes
labels:
- bug
- title: Docs
labels:
- documentation
- title: Refactors
labels:
- refactor
- title: Upgrades
labels:
- dependencies
- title: Internal
labels:
- internal
- title: Other Changes
labels:
- "*"
ラベルに反応するという実装になった。プルリクを作成し、ラベルを貼ってマージしてみる

さっそくリリースノートを作る。2回目以降はReleasesを押すようだ。

次の画面も2回めからかわっていた。Draft a new releaseを押す

yamlがあるから全く違うものが自動生成された!

求めていた、かっこいいやつになりました。

最後に
.github/release.ymlがあるといい感じになることがわかりました。
重要なことは、プルリクのときのラベル運用がとっても大事ということ。そうしないと分類分けなしになってしまう。ラベル開発者に負荷があるし必須を強制する仕組みを並行で導入しないと風化するので工夫が更に必要そうかと思いました。
これについては、記事を対策記事を書きましたのでご参照くださいませ。
GitHub ActionsでPRにラベル未設定の場合はマージ不可にする方法
皆さんの参考になりましたら幸いです。
Discussion