はじめに
こんにちは、エンジニアのkeitaMaxです。
前回の続きです。
前回の記事
下記の記事を参考に、PHPstanをGitHub上で動かして、自動でテストするものを作成します。
ymlファイルを作ってGitで動かしてみる
参考元のymlファイルを参考にして以下のように作成しました。
phpstan.yml
name: LaraStan
on: [pull_request]
jobs:
phpstan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.2"
tools: composer, cs2pr
coverage: none
- name: Composer install
run: composer install
- name: Larastan install
run: composer require nunomaduro/larastan --dev
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v29.0.3
- name: Run PHPStan
run: vendor/bin/phpstan analyze
これでPushすると、以下のように動き始めましたが、composer install の個所でエラーが出てしまいました。
Error: Your lock file does not contain a compatible set of packages. Please run composer update.
ルート以外でGITHUB Actionsでコマンドを実行する
どうやら、Laravelのソースがルート配下ではなく./src
配下にあるため、composer install
ができなくなってしまったようです。
調べたら、以下のようにruns-on
の下に以下を追加います。
phpstan.yml
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./src
これに修正して再度Pushしてみます。
composer install
は無事エラーがなく終わり、完了しました。
あえて失敗させてちゃんと動いているかをみる
今度はあえて変なコードを作成してPushしてみます。すると、以下のようにしっかりとエラーが出ました。
さいごに
GitHub Actions になれてきたのか、簡単に実装することができました。
つぎはPHPUnitを使用してみようと思います。
やり方が違ったり、もっといいやり方があるというご指摘がある方はコメントしていただけると幸いです。
最後まで読んでいただきありがとうございました。
参考文献