ハマログ

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

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日


関連記事

TextWranglerと正規表現で大量ファイルを一括置換

大量のHTMLファイル内に記述されたjsのパスを一括で置換したくなりました。 自…

Amazon Linux 2のExtras LibraryでインストールしたPHP7.2をPHP7.4に変更する

しばらくほったらかしだったので少し前にAmazon Linux 2にExtras…

AWSのロードバランサーでリダイレクト設定

リダイレクト設定 一時的にサイトを止めたい、まだ公開前のパスにアクセスさせたくな…


← 前の投稿

次の投稿 →