概要
今回のブログポストではGitHub Actions
を使ってPull request
のタイトルがConventional Commits
を守っているのかチェックする方法について説明します。
ブログシリーズ
このブログはシリーズで制作されました。次のリンクを通じて他のブログポストも確認してみてください。
- [GitHub Actions] Pull request のタイトルチェック
- [GitHub Actions] Release notes の自動化
- [GitHub Actions] Pull request のラベルチェック
Conventional Commits とは
Conventional Commits
はソフト開発で使ってるコミットメッセージの標準化のためのルールです。これはコード変更をより読みやすくするし、自動化されたバージョン管理システムと統合しやすくする目的があります。
Conventional Commits
は次のような構造を持っています。
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
- タイプ(Type): コミットの意図を表す単語で、主に feat(機能追加)、fix(バグ修正)、chore(ビルドやツール関連の変更)などが使われます。
- スコープ(Scope): 変更がどの部分に影響を与えるかを指定するオプションです。Optional なので省略することができます。
- コミットメッセージ(Description): 変更の簡潔な説明を含む部分で、命令文の形で書かれる必要があります。
ここでタイプは次のような種類を使うことができます。
- feat: 新しい機能を追加するときに使われます。
- fix: バグ修正をするときに使われます。
- chore: ビルドプロセスやツール関連の変更をするときに使われます。
- docs: ドキュメントを変更するときに使われます。
- style: コードスタイルを変更するときに使われます。
- refactor: コードのリファクタリングをするときに使われます。機能の変更はなく、コードの構造を改善するときに使われます。
- test: テスト関連の変更や追加をするときに使われます。
- build: ビルドシステムや外部依存関係の変更をするときに使われます。
- ci: CI/CD パイプラインに関連する変更をするときに使われます。
GitHub
ではPull request
を作成するとき、ブランチの最初のコミットメッセージをデフォルトで使うことになります。そのため、コミットするときにConventional Commits
を守るようにすると、Pull request
を作成するとき、より意味のあるタイトルを使うことができます。
Conventional PR Title Action
このブログポストではGitHub Actions
でPull request
のタイトルがConventional Commits
を守っているのかチェックするため、Conventional PR Title Action
を使います。
GitHub Actions の生成
GitHub Actions
でConventional PR Title Action
を使うため.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/conventional-pr-title-action@v3
env:
GITHUB_TOKEN: $
このGitHub Actions
はPull request
が生成されたり、修正された時、Pull request
のタイトルがConventional Commits
を守っているのかチェックします。
完了
これでGitHub Actions
を使ってPull request
のタイトルがConventional Commits
を守っているのかチェックする方法について説明しました。
私がこのようにPull request
のタイトルがConventional Commits
を守っているのかチェックする理由は、このPull request
のタイトルを使ってRelease notes
の自動化をするためです。
GitHub Actions
を使ってRelease notes
の自動化する方法については次のリンクを参考してください。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Deku
が開発したアプリを使ってみてください。Deku
が開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。