ハマログ

株式会社イーツー・インフォの社員ブログ

GitHub ActionsでPHPStanを実行する

  1. リポジトリルートからディレクトリ掘ってphpstanの動作ファイル配置:.github/workflows/phpstan.yml
  2. composerでphpstanを追加:composer require --dev phpstan/phpstan
  3. phpstan用の設定ファイル:phpstan.neonをリポジトリルートに配置
  4. 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.neon

developmentのプルリクエスト(作成・追加コミット・再開)を実行トリガー化

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の使用時間とプルリクエストの完了までの時間がえらいことになる。

これでGitHubのActionsから「こ、こいつ……動くぞ……」ってなる、はず。


こんな感じ。

GitHub Actions

  Y.W   2025年3月21日


関連記事

Bootstrapのcollapseコントロールでアコーディオンの実装

collapseコントロールは、クリックすると、その内容を折り畳むことができるコ…

ITツールの機能紹介-XLOOKUP-

つ~じ~です。ウマ娘映画でテンション上がっちゃって5回くらい観に行きました、今度…

Laravelのjsonレスポンスでスラッシュをエスケープしない

Laravelでjson形式のレスポンスを返却する際に、内部でjson_enco…


← 前の投稿

次の投稿 →