概要
Git
でコミット(Commit)メッセージを作成する時、特定なルールがあります。体表的なコミットメッセージのルールはConventional Commits
があります。
今回のブログポストではGitHub Actions
のConventional PR Title Action
を使ってPull request
のタイトルがConventional Commits
のルールを従ってるか検査する方法について説明します。
ブログシリーズ
このブログはシリーズで作成しております。下記のリンクを参考して他のブログポストも確認してみてください。
- [GitHub Actions] Pull requestのタイトル検査
- [GitHub Actions] Release Drafterを使ってGitHubのRelease noteの自動化をする
- [GitHub Actions] Pull requestのラベル検査
- [GitHub Actions] Changelogファイルの自動アップデート
Conventional Commits
Conventional Commits
は次のようにコミットメッセージの構造に関するルールです。
<type>: <description>
<body>
<footer>
ここでType
とBody
、Footer
はオプショナルですが、普通コミットメッセージを作成する時、次のようにType
を追加して作成します。
fix:
: バグ修正の場合feat:
: 機能追加の場合build:
: ビルドシステムまたは依存関係(dependencies)を変更した場合chore:
: ビルドシステムまたは依存関係(dependencies)を変更した場合ci:
: CI設定やスクリプトを変更した場合docs:
: ドキュメントだけ変更した場合style:
: コードスタイル(スペース、フォーマット、コロンなど)を変更した場合refactor:
: バグ修正や機能追加ではなくコードをリファクタリングした場合pref:
: 性能改善をするコード修正の場合test:
: テストコード追加や既存のテストコードを修正した場合
Conventional PR Title Action
Conventional PR Title Action
はPull request
のタイトルがコミットメッセージルールであるConventional Commits
を守ってるのかを検査するGitHub Actions
です。つまり、Pull request
のタイトルにConventional Commits
のType
を含めてるか検査します。
Conventional PR Title Action
を使ってPull request
のタイトルを検査するために.github/workflows/pr-title-checker.yml
ファイルを作って次のように修正します。
name: Check PR title
on:
pull_request:
types:
- opened
- reopened
- edited
- synchronize
jobs:
lint:
runs-on: ubuntu-latest
permissions:
statuses: write
steps:
- uses: aslafy-z/[email protected]
env:
GITHUB_TOKEN: $
このようにGitHub Actions
を追加したら、Pull request
が生成、修正などが発生した場合Pull request
のタイトルにConventional Commits
のタイプが含まれてるのかチェックされます。
完了
これでGitHub Actions
のConventional PR Title Action
を使ってPull request
のタイトルにConventional Commits
のタイプを含めてあるか検査する方法について見てみました。このようにタイプを検査する理由はRelease Drafter
を使ってGitHub
のRelease note
を自動化するためです。
GitHub Actions
中の1つであるRelease Drafter
を使ってGitHub
のRelease note
を自動化する方法については下記のブログポストを参考してください。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Deku
が開発したアプリを使ってみてください。Deku
が開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。