[GitHub Actions] Pull requestのタイトル検索

[GitHub Actions] Pull requestのタイトル検索

2023-05-11 hit count image

GitHub ActionsのConventional PR Title Actionを使ってPull requestのタイトルがルールに合わせて作成されたかを検査する方法について説明します。

概要

Gitでコミット(Commit)メッセージを作成する時、特定なルールがあります。体表的なコミットメッセージのルールはConventional Commitsがあります。

今回のブログポストではGitHub ActionsConventional PR Title Actionを使ってPull requestのタイトルがConventional Commitsのルールを従ってるか検査する方法について説明します。

ブログシリーズ

このブログはシリーズで作成しております。下記のリンクを参考して他のブログポストも確認してみてください。

Conventional Commits

Conventional Commitsは次のようにコミットメッセージの構造に関するルールです。

<type>: <description>

<body>

<footer>

ここでTypeBodyFooterはオプショナルですが、普通コミットメッセージを作成する時、次のようにTypeを追加して作成します。

  • fix:: バグ修正の場合
  • feat:: 機能追加の場合
  • build:: ビルドシステムまたは依存関係(dependencies)を変更した場合
  • chore:: ビルドシステムまたは依存関係(dependencies)を変更した場合
  • ci:: CI設定やスクリプトを変更した場合
  • docs:: ドキュメントだけ変更した場合
  • style:: コードスタイル(スペース、フォーマット、コロンなど)を変更した場合
  • refactor:: バグ修正や機能追加ではなくコードをリファクタリングした場合
  • pref:: 性能改善をするコード修正の場合
  • test:: テストコード追加や既存のテストコードを修正した場合

Conventional PR Title Action

Conventional PR Title ActionPull requestのタイトルがコミットメッセージルールであるConventional Commitsを守ってるのかを検査するGitHub Actionsです。つまり、Pull requestのタイトルにConventional CommitsTypeを含めてるか検査します。

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 ActionsConventional PR Title Actionを使ってPull requestのタイトルにConventional Commitsのタイプを含めてあるか検査する方法について見てみました。このようにタイプを検査する理由はRelease Drafterを使ってGitHubRelease noteを自動化するためです。

GitHub Actions中の1つであるRelease Drafterを使ってGitHubRelease noteを自動化する方法については下記のブログポストを参考してください。

私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!

アプリ広報

今見てるブログを作成たDekuが開発したアプリを使ってみてください。
Dekuが開発したアプリはFlutterで開発されています。

興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。

Posts