Github Actions で ESLint や Stylelint 、あるいはデプロイのワークフローは走らせたことがありますが、 Jest も行けるはず……と思い至ったところで、ふとそういえば PHPUnit はどうでしょうか、と思い実験。
検証
検索すると、
これらの記事がヒットしました。そこで、この記事を参考に .github/workflows/test.yml
として作成。
.github/workflows/test.yml
name: PHPUnit test
on: [push]
jobs:
test:
name: Test
runs-on: ubuntu-latest
strategy:
matrix:
php-version: ['7.4']
steps:
- name: Setup PHP ${{ matrix.php-version }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extension-csv: mbstring, xdebug, dom
- name: Add Plugin
run: sudo apt install -y php7.4-xml
- name: Checkout
uses: actions/checkout@v2
- name: Check PHP Version
run: php -v
- name: Check Composer Version
run: composer -V
- name: Check PHP Extensions
run: php -m
- name: Validate composer.json and composer.lock
run: composer validate
- name: Install dependencies
run: composer install --prefer-dist --no-progress --no-suggest
- name: Run test suite
run: composer run-script test
試しに Github に push してみます。
走りました。
先人の知恵があればこそですが、 workflows の yml
ファイルがあれば PHPUnit のテストも可能ということが分かりました。
参考
Github Actions で PHPUnit
- GitHub ActionsでPHPUnitを実行する – Qiita
- GitHubActionsでPHP7.4環境のPHPUnitを実行する – istyle Tech Blog
- GitHub Actions で PHP の CI/CD をする – Qiita
- 【Github Actions】プッシュ時にgithubに自動でテストを実行してもらおう! – ポンコツエンジニアのごじゃっぺ開発日記。