Feature/updated autoloading #107
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: PHP Checks | |
on: | |
push: | |
branches: ["trunk"] | |
pull_request: | |
branches: ["trunk"] | |
permissions: | |
contents: read | |
jobs: | |
phpcs: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
php: [ '8.3', '8.4' ] | |
services: | |
mysql: | |
image: mysql:5.7 | |
env: | |
MYSQL_ROOT_PASSWORD: root | |
MYSQL_DATABASE: wordpress_test | |
ports: | |
- 3306 | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Validate composer.json and composer.lock | |
run: composer run check-deps | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, mysql, mysqli, pdo_mysql, bcmath, soap, intl, gd, exif, iconv, imagick | |
coverage: none | |
tools: composer:v2 | |
- name: Validate Root composer.json and composer.lock | |
run: composer validate --strict | |
- name: Validate Plugin composer.json and composer.lock | |
run: composer validate --strict --working-dir=mu-plugins/10up-plugin | |
- name: Validate Theme composer.json and composer.lock | |
run: composer validate --strict --working-dir=themes/10up-theme | |
- name: Cache Composer packages | |
id: composer-cache | |
uses: actions/cache@v3 | |
- name: Install Root dependencies | |
run: composer install --prefer-dist --no-progress | |
- name: Install Plugin dependencies | |
run: composer install --prefer-dist --no-progress --working-dir=mu-plugins/10up-plugin | |
- name: Install Theme dependencies | |
run: composer install --prefer-dist --no-progress --working-dir=themes/10up-theme | |
- name: Run PHPCS | |
run: composer lint | |
- name: Run PHPStan | |
run: composer static | |
- name: Setup WP Tests | |
run: bin/install-wp-tests.sh wordpress_test root root 127.0.0.1:${{ job.services.mysql.ports['3306'] }} latest true | |
- name: Run PHPUnit on Plugin | |
run: composer run test:plugin | |
- name: Run PHPUnit on Theme | |
run: composer run test:theme | |