🦐

GitHub Actionsでテストに使用するPHPのバージョンを指定する

2020/12/30に公開

概要

GitHub ActionsでPHPプロジェクトのテストを実行をしようとしたら、
いつの間にかデフォルトバージョンが8.0になってしまっていたので変更方法を調査した。

変更方法

workflowsファイルのstepsで専用のリポジトリに切り替える

# .github/workflows/laravel.yml
jobs:
  laravel-tests:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v2

    # これを追記してあげる(extensionの追加もできる)
    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: '7.3'
        extensions: mbstring, gd

    - name: Copy .env
      run: php -r "file_exists('.env') || copy('.env.github', '.env');"
    - name: Install Dependencies
      run: composer install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist
    - name: Generate key
      run: php artisan key:generate
    - name: Directory Permissions
      run: chmod -R 777 storage bootstrap/cache
    - name: Execute Migration & Seed
      run: php artisan migrate:refresh --seed --force
    - name: Execute tests (Unit and Feature tests) via PHPUnit
      run: vendor/bin/phpunit

通常は最新バージョン(2020/12/30時点ではPHP8.0)を利用してしまいますが、こうすることでPHPのバージョン指定ができるようになります。

Discussion