リリースページに ChangeLog というかリリースノートを書くのはかなり面倒です。 Release Drafter を使うと PR 単位でいい感じに リリースページのドラフトを生成してくれます。
Release Drafter の GitHub App は簡単に導入できますが、何やら Deprecated にしようという議論があるようです。
GitHub Apps - Release Drafter · GitHub
GitHub Actions で release-drafter 用のワークフローを使う方が無難かなと思います。
README にある通り、設定用の release-drafter.yml とワークフロー用の release-drafter.yml をそれぞれリポジトリの .github
と .github/workflows
に配置するだけ。
設定用の release-drafter.yml。PR にラベルをつけておくと、Features や Bug Fixes に振り分けてくれます。ChangeLog に入れたくないような修正については除外用のラベルを指定することもできます。
name-template: 'v$NEXT_PATCH_VERSION' tag-template: 'v$NEXT_PATCH_VERSION' categories: - title: '🚀 Features' labels: - 'feature' - 'enhancement' - title: '🐛 Bug Fixes' labels: - 'fix' - 'bugfix' - 'bug' - title: '🧰 Maintenance' labels: - 'chore' change-title-escapes: '\<*_&' exclude-labels: - 'exclude from changelog' template: | ## Changes $CHANGES
ワークフロー用の release-drafter.yml です。
name: Release Drafter on: push: branches: - master pull_request: types: [opened, reopened, synchronize] jobs: update_release_draft: runs-on: ubuntu-latest steps: - uses: release-drafter/release-drafter@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR が作成・マージされる度に Draft が更新されていきます。
template に 'v$NEXT_PATCH_VERSION' を指定しているので、0.1.0 がリリースされている状態だと 0.1.1 のドラフトができます。
Draft を Edit して実際に作成したリリースページ。
手作業でリリース時にあたふたやってたことが継続的にオートメーション化された感じですね。PR のタイトルをちゃんと付けるようにすれば、ほとんど修正は不要でしょう。