GitHub ActionsでPHPStanを実行する
- リポジトリルートからディレクトリ掘ってphpstanの動作ファイル配置:
.github/workflows/phpstan.yml
- composerでphpstanを追加:
composer require --dev phpstan/phpstan
- phpstan用の設定ファイル:
phpstan.neon
をリポジトリルートに配置 - GitHubでdevelopmentへのプルリクエストをトリガーに動作するように設定して実行
.github/workflows/phpstan.yml
name: PHPStan on: pull_request: branches: - development types: - opened - synchronize - reopened jobs: phpstan: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Set up PHP uses: shivammathur/setup-php@v2 with: php-version: '8.2' extensions: mbstring, dom, fileinfo, simplexml coverage: xdebug - name: Install Composer dependencies run: composer install --no-progress --prefer-dist --optimize-autoloader --working-dir=src - name: Run PHPStan run: src/vendor/bin/phpstan analyse src --configuration=phpstan.neondevelopmentのプルリクエスト(作成・追加コミット・再開)を実行トリガー化
composerでphpstanを追加
といっても上に書いたコマンドをホイでどうにかなるはず。たぶん。
phpstan.neon
parameters: paths: - src level: 0 excludePaths: - src/tests/* - src/vendor/* - src/storage/* - src/bootstrap/cache/*
levelはルールレベルの指定。0が一番緩い。
venderその他の「ここは見なくてよくない?」をチェック対象外に設定。
これを設定しないとフルチェックするので10分ぐらい掛かるので、GitHub Actionの使用時間とプルリクエストの完了までの時間がえらいことになる。