okaryo.log

GitHubActionsを使ってタグのpushをトリガーとしてリリースノートが自動で作成されるようにする | okaryo.log

GitHubActionsを使ってタグのpushをトリガーとしてリリースノートが自動で作成されるようにする

    #GitHub#GitHubActions#CI/CD

はじめに

最近個人開発でTabTabTabというタブ管理用のChrome拡張を開発しており、新しいバージョンをリリースする際はGitHubにタグをpushし、リリースノートを自分で作成していた。

毎回この作業をするのが面倒だったのでGitHubActionsを使って自動化することにした。

処理の流れ

処理の全体像は以下のようになる。

  1. タグをGitHubにpush
  2. タグのpushをトリガーとしてGitHubActionsのワークフローが走る
  3. ワークフローの中でリリースノートが作成されるようにする

ワークフローの設定ファイル

以下のyamlファイルを.github/workflows/generate-release-note.ymlとして配置した。

name: Generate Release Note

on:
  push:
    tags:
      - '*'

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Generate release note
        uses: softprops/action-gh-release@v1
        with:
          generate_release_notes: true

以下の箇所でタグのpushをトリガーにワークフローが走るように設定している。

on:
  push:
    tags:
      - '*'

リリースの作成にはsoftprops/action-gh-releaseというActionを利用した。

- name: Generate release note
  uses: softprops/action-gh-release@v1
  with:
    generate_release_notes: true

タグ名やリリース名などを設定することはできるが、今回はデフォルトで対応可能だったので特に指定はしていない。ただ、リリースノートが作成されるようにgenerate_release_notestrueに設定している。

その他の設定についてはREADMEを参照されたい。

生成されたリリースノート

上記の設定によって作成されたリリースノートが以下。github-actionsによって生成されている。

ReleaseNote

ちなみに🎉 Featuresのようなリリースノートの構造化は.github/release.ymlによって制御している。

この辺りの話については以下の記事にまとめてあるので興味があれば読んでみてほしい。

👉 GitHubリポジトリ内のリリースノートを対応内容ごとにカテゴライズしてイイ感じにする

おわり

これでタグをpushするだけで自動でリリースノートが自動生成されるようになり、リリース時の面倒が一つ減った。

GitHubActionsはこういった雑務を簡単に解決してくれるのでかなり重宝している。


関連記事
最新記事
プロモーション

This site uses Google Analytics.