Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PHPStan による静的解析の導入 #4835

Merged
merged 4 commits into from
Jan 26, 2021
Merged

Conversation

nanasess
Copy link
Contributor

@nanasess nanasess commented Jan 15, 2021

概要(Overview・Refs Issue)

3系より、静的解析ツールとしてScrutinizerを導入しているが、あまり活用されていない。
PHPStan でチェックしたところ、明らかに問題のあるコードが発覚したため、 GitHub Actions に導入してみる

PHPStan については、以下が詳しい

方針(Policy)

  • GitHub Actions で PHPStan の Workflow を実行する
  • phpstan.neon.dist でデフォルトの設定をしておく
    • level: 0
    • Twig_Extensions_Extension_Intl で定義されている一部のグローバル関数を PHPStan が見つけてくれないため、エラーから除外
  • PHPStan のエラーが発生した場合は、 Workflow をエラーとする

実装に関する補足(Appendix)

PHPStan で発見したエラーについては、別途 PR を作成します(#4838)

テスト(Test)

PHPStan のエラーで Workflow がエラーになることを確認

相談(Discussion)

実験的な導入なので、 GitHub Actions で composer require phpstan/phpstan を実行しているが、良さげなら require-dev に入れたい

マイナーバージョン互換性保持のための制限事項チェックリスト

  • 既存機能の仕様変更
  • フックポイントの呼び出しタイミングの変更
  • フックポイントのパラメータの削除・データ型の変更
  • twigファイルに渡しているパラメータの削除・データ型の変更
  • Serviceクラスの公開関数の、引数の削除・データ型の変更
  • 入出力ファイル(CSVなど)のフォーマット変更

レビュワー確認項目

  • 動作確認
  • コードレビュー
  • E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
  • 互換性が保持されているか
  • セキュリティ上の問題がないか

nanasess added a commit to nanasess/ec-cube that referenced this pull request Jan 15, 2021
@okazy okazy added the enhancement 機能追加 label Jan 25, 2021
@okazy okazy added this to the 4.0.x milestone Jan 25, 2021
@okazy
Copy link
Contributor

okazy commented Jan 25, 2021

#4838 #4845 が取り込まれましたので4.0ブランチの内容をマージしてプッシュします。
一応マージ前のエラー内容を残しておきます。こちらが全て消えるはず。

image

@nanasess
Copy link
Contributor Author

@okazy 1箇所漏れがあったので修正しました

Copy link
Contributor

@okazy okazy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

通ったので取り込みます。

@okazy okazy merged commit 7522c12 into EC-CUBE:4.0 Jan 26, 2021
@okazy
Copy link
Contributor

okazy commented Jan 26, 2021

ありがとうございます!取り込みました!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement 機能追加
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants