intraxia/wp-gistpen

View on GitHub
.github/workflows/php.yml

Summary

Maintainability
Test Coverage
name: PHP

on:
  push:
    branches: [ next ]
  pull_request:
    branches: [ next ]

jobs:
  build:

    runs-on: ubuntu-18.04

    strategy:
      matrix:
        php-version: ['5.6', '7.0', '7.3']
        wp-version: ['5.2', '5.6']
        wp-multisite: ['0', '1']

    env:
      DB_NAME: wordpress_test
      DB_USER: root
      DB_PASSWORD: root

    steps:
    - uses: actions/checkout@v2
    - name: Install PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: ${{ matrix.php-version }}
        coverage: none
    - name: Cache Composer packages
      id: composer-cache
      uses: actions/cache@v2
      with:
        path: lib
        key: ${{ runner.os }}-php-${{ hashFiles('composer.lock') }}
        restore-keys: |
          ${{ runner.os }}-php-
    - name: Install dependencies
      run: composer install --prefer-dist --no-progress
    - name: Set up MySQL
      run: |
        sudo /etc/init.d/mysql start --default-authentication-plugin=mysql_native_password
        mysql -e 'ALTER USER "${{ env.DB_USER }}"@"localhost" IDENTIFIED WITH mysql_native_password BY "${{ env.DB_PASSWORD }}"; FLUSH PRIVILEGES;' -u${{ env.DB_USER }} -p${{ env.DB_PASSWORD }}
    - name: Install WordPress
      run: bash bin/install-wp-tests.sh ${{ env.DB_NAME }} ${{ env.DB_USER }} ${{ env.DB_PASSWORD }} localhost ${{ matrix.wp-version }}
    - name: Install WP-CLI
      run: |
          curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
          chmod +x wp-cli.phar
          mkdir $PWD/.bin
          mv wp-cli.phar $PWD/.bin/wp
          export PATH=$PATH:$PWD/.bin/
          wp --version
    - name: Run tests
      run: composer test