概要
私は Release Drafter
を使って GitHub のリリースノートを自動化しています。
この Release Drafter
はGitHubのPRのLabelを基準に動作します。Release Drafter
はLabelを自動で生成する機能を提供しており、この時PRのタイトルを使います。そのため、PRのタイトルは重要です。
以前はPRのタイトルをチェックするため、Conventional PR Title Actionを使いました。
しかし、現在のモノレポプロジェクトでは、この Conventional PR Title Action
だけでは十分ではなく、他のGitHub Actionsを使うことになりました。
今回のブログポストでは、action-check-pr-title
を使ってPRを作成した際、PRのタイトルをチェックする方法について説明します。
action-check-pr-title
action-check-pr-title
は正規表現を使ってPRのタイトルをチェックするGitHub Actionsです。
GitHub Actions 生成
action-check-pr-title
を使ってPRのタイトルをチェックするGitHub Actionsを生成するために、.github/workflows/check_pr_title.yml
ファイルを生成し、以下のように修正します。
name: Check PR Title
on:
pull_request:
types:
- opened
- reopened
- edited
- synchronize
jobs:
check-pr-title:
runs-on: ubuntu-latest
timeout-minutes: 1
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Check PR Title
uses: Slashgear/[email protected]
with:
regexp: '(feat|fix|chore|docs|style|refactor|test|build|ci)\((SERVICE1|SERVICE2|template|components|config|common)\): .+'
helpMessage: "Example: 'feat(SERVICE1): example of title'"
Pull Request
のタイトルをチェックする部分をもう少し詳しく見てみます。
- name: Check PR Title
uses: Slashgear/[email protected]
with:
regexp: '(feat|fix|chore|docs|style|refactor|test|build|ci)\((SERVICE1|SERVICE2|template|components|config|common)\): .+'
helpMessage: "Example: 'feat(SERVICE1): example of title'"
action-check-pr-title
が提供するregexp
オプションを使ってPR
のタイトルをチェックします。ここで使う正規表現は以下のようなPRタイトルを許可します。
feat(SERVICE1): Add new feature
fix(SERVICE2): Fix bug
refactor(common): Refactor code
...
モノレポを使っているため、Conventional Commits
のScope
領域にサービス名を設定し、これをチェックするように設定しました。
完了
これでaction-check-pr-title
を使ってPRを作成した際、PRのタイトルをチェックする方法について説明しました。Conventional PR Title Actionでも正規表現チェックが可能ですが、設定が簡単ではないため、action-check-pr-title
を使うことにしました。
皆さんも簡単に正規表現でPRタイトルをチェックしたい場合は、action-check-pr-title
を使ってみてください。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Deku
が開発したアプリを使ってみてください。Deku
が開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。