Files
wp-plugin-starter-template-…/.github/workflows/tests.yml

64 lines
1.8 KiB
YAML

name: Tests - Run PHP compatibility and unit tests
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
name: PHP ${{ matrix.php-versions }}
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ['7.0', '7.4', '8.0']
fail-fast: false
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, intl, zip
tools: composer:v2
- name: Install dependencies
run: |
if [[ "${{ matrix.php-versions }}" == "7.0" ]]; then
# Force PHPUnit 6.5 for PHP 7.0
composer require --dev phpunit/phpunit:"^6.5" --update-with-dependencies
elif [[ "${{ matrix.php-versions }}" == "8.0" ]]; then
# Update PHPUnit and WP_Mock for PHP 8.0
composer require --dev phpunit/phpunit:"^9.5" 10up/wp_mock:"^1.0" --no-update
fi
# Update all dependencies based on composer.json/composer.lock and any modifications above
composer update --prefer-dist --no-progress
- name: Run tests
run: ./vendor/bin/phpunit
code-style:
name: Code Style
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
extensions: mbstring, intl, zip
tools: composer:v2, phpcs
- name: Install dependencies
run: composer update --prefer-dist --no-progress
- name: Run PHPCS
run: ./vendor/bin/phpcs --standard=WordPress ./includes ./admin ./wp-plugin-starter-template.php