LaravelのコードフォーマットをGitHub Actionで自動化する

はじめに

Laravel開発では、コードの可読性を保つために Laravel Pint を利用することが一般的です。しかし、開発メンバーが増えると、コードスタイルが統一されていないことが問題になることがあります。
そこで、GitHub Actionを使ってコードフォーマットを自動化する方法 を紹介します。


1. GitHub Actionの設定

GitHubリポジトリの .github/workflows/linter.yml に、以下の内容を記述します。

linter.yml の内容

name: Fix Code Style

on: [push]

jobs:
format:
runs-on: ubuntu-latest

strategy:
fail-fast: true
matrix:
php: [8.4]

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: json, dom, curl, libxml, mbstring
coverage: none

- name: Install Pint
run: composer global require laravel/pint

- name: Run Pint
run: pint

- name: Commit linted files
uses: stefanzweifel/git-auto-commit-action@v5

2. 設定内容の説明

上記のワークフローでは、以下のステップを実行します。

  1. リポジトリをチェックアウト
    • actions/checkout@v4 を使ってリポジトリを取得。
  2. PHP環境のセットアップ
    • shivammathur/setup-php@v2 を使い、PHP 8.4 をセットアップ。
    • Laravelでよく使う拡張機能(json, dom, curl, libxml, mbstring)を追加。
  3. Laravel Pintの実行
    • composer global require laravel/pint で Pint をインストール。
    • pint を実行し、コードをフォーマット。
  4. フォーマット後の変更を自動コミット
    • stefanzweifel/git-auto-commit-action@v5 を使い、変更されたファイルを自動コミット。

3. 実際の動作

このGitHub Actionをリポジトリに追加すると、コードをプッシュするたびに以下の処理が自動で実行されます。

  • LaravelのPHPコードは Pint でフォーマット。
  • フォーマット後の変更は自動でコミット。

これにより、開発者が手動でフォーマットする手間を削減し、チーム全体で統一されたコードスタイルを維持 できます。


4. まとめ

GitHub Actionsを活用することで、Laravelとフロントエンドのコードフォーマットを自動化できます。特に、チーム開発では コードスタイルの統一 が重要になりますので、ぜひ導入してみてください!