Github Actions で PHPUnit を走らせる

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 してみます。

Github Actions で PHPUnit が走った結果の様子
Github Actions で PHPUnit が走った結果の様子

走りました。

先人の知恵があればこそですが、 workflows の yml ファイルがあれば PHPUnit のテストも可能ということが分かりました。

参考

Github Actions で PHPUnit

composer

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。