手順
- 管理者権限で act をインストールする
- ワークフローを記述する
- プロジェクトのディレクトリで act を実行する
1. 管理者権限で act をインストールする
Chocolatey が入っている環境なら以下のコマンドを打つだけでインストール出来る、、のですが、choco install act-cli
普通にインストールしようとすると権限がないと怒られます。
act-cli not installed. An error occurred during installation:
パス 'C:\ProgramData\chocolatey\lib\act-cli\tools' へのアクセスが拒否されました。
なので、まず管理者権限でシェルを立ち上げてからインストールする必要があります。
powershell start-process cmd -verb runas
choco install act-cli
2. ワークフローを記述する
環境に合わせて適当な枠フローを記述してください。とりあえず、GitHubが用意してくれたものを流用してみました。
3. プロジェクトのディレクトリで act を実行する
act -P ubuntu-latest=nektos/act-environments-ubuntu:18.04
こんな感じでテストを最後まで実行出来ました。よかった。
[Laravel/laravel-tests] ⭐ Run Main Execute tests (Unit and Feature tests) via PHPUnit
[Laravel/laravel-tests] 🐳 docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/7] user= workdir=
| PHPUnit 8.5.34 by Sebastian Bergmann and contributors.
|
| ............................................................... 63 / 101 ( 62%)
| ...................................... 101 / 101 (100%)
|
| Time: 10.8 seconds, Memory: 44.00 MB
|
| OK (101 tests, 293 assertions)
[Laravel/laravel-tests] ✅ Success - Main Execute tests (Unit and Feature tests) via PHPUnit
[Laravel/laravel-tests] 🐳 docker exec cmd=[node /var/run/act/workflow/hashfiles/index.js] user= workdir=
[Laravel/laravel-tests] ⭐ Run Post cache vendor
[Laravel/laravel-tests] 🐳 docker exec cmd=[node /var/run/act/actions/actions-cache@v1/dist/save/index.js] user= workdir=
[Laravel/laravel-tests] ✅ Success - Post cache vendor
[Laravel/laravel-tests] Cleaning up container for job laravel-tests
[Laravel/laravel-tests] Cleaning up services for job laravel-tests
[Laravel/laravel-tests] Cleaning up network for job laravel-tests, and network name is: act-Laravel-laravel-tests-27ec562d6e66db412bc8aad63fdf6f03610c91a997d85daab719dc73f6da8134-laravel-tests-network
[Laravel/laravel-tests] 🏁 Job succeeded
参考
GitHub Actionsを利用してLaravelのテストを自動化してみた #Laravel – QiitaGitHub ActionsでLaravelのテストをするのにMySQLを利用する #Laravel – Qiita
参考にさせて頂きました。ありがとうございます。