Amend tests.yml #24
Workflow file for this run
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
on: | |
push: | |
branches: | |
- main | |
- filtro-comuni | |
pull_request: | |
name: Tests | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# See: https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/ | |
wordpress-version: ['5.9', '6.0', '6.1', '6.2', '6.3', '6.4'] | |
php-versions: ['7.4', '8.0', '8.1'] | |
exclude: | |
- php-versions: '8.0' | |
wordpress-version: '5.2' | |
- php-versions: '8.0' | |
wordpress-version: '5.3' | |
- php-versions: '8.0' | |
wordpress-version: '5.4' | |
- php-versions: '8.0' | |
wordpress-version: '5.5' | |
name: PHP:${{ matrix.php-versions }} / WP:${{ matrix.wordpress-version }} | |
services: | |
mysql: | |
image: mysql:5.7 | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: false | |
MYSQL_ROOT_PASSWORD: password | |
MYSQL_DATABASE: wordpress | |
ports: | |
- 3306 | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-versions }} | |
tools: php-cs-fixer, composer | |
extensions: pcntl, posix | |
env: | |
fail-fast: true | |
- name: Setup Wordpress over phpunit | |
run: bash bin/install-wp-tests.sh wordpress root password 127.0.0.1:${{ job.services.mysql.ports[3306] }} ${{ matrix.wordpress-version }} true | |
- name: Get composer cache directory | |
id: composer-cache | |
run: echo "composer_dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Setup problem matchers for PHPUnit | |
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" | |
- name: Cache composer dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.composer-cache.outputs.composer_dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Only for WP >= 5.9 Install Composer dependencies | |
# See: https://make.wordpress.org/core/2021/09/27/changes-to-the-wordpress-core-php-test-suite/ | |
if: ${{ ( matrix.wordpress-version == '5.9' || matrix.wordpress-version == '6.0' || matrix.wordpress-version == '6.1' || matrix.wordpress-version == '6.2' || matrix.wordpress-version == '6.3' || matrix.wordpress-version == '6.4' ) }} | |
run: composer update --dev yoast/phpunit-polyfills --with-dependencies && composer install --no-progress --prefer-dist --optimize-autoloader --ignore-platform-reqs | |
#run: (composer remove --dev phpunit/phpunit || true ) && composer update --dev yoast/phpunit-polyfills --with-dependencies && composer install --no-progress --prefer-dist --optimize-autoloader --ignore-platform-reqs | |
- name: When using PHP 8 and WP <= 5.8 | |
# See: https://core.trac.wordpress.org/ticket/50902 | |
if: ${{ matrix.php-versions == '8.0' && (matrix.wordpress-version == '5.6' || matrix.wordpress-version == '5.7' || matrix.wordpress-version == '5.8' )}} | |
run: composer install --no-progress --prefer-dist --optimize-autoloader --ignore-platform-reqs | |
#- name: Install Composer dependencies | |
# Rest of the versions | |
#if: ${{ matrix.php-versions != '8.0' }} | |
#run: composer install --no-progress --prefer-dist --optimize-autoloader | |
- name: Run the tests | |
run: vendor/bin/phpunit --debug | |
sync-trunk: | |
name: Sync trunk with main | |
runs-on: ubuntu-latest | |
needs: test | |
if: github.ref == 'refs/heads/main' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 7.4 | |
tools: composer | |
env: | |
fail-fast: true | |
- name: Sync with SVN | |
run: | | |
make svnsync | |
- name: Push trunk to WordPress Plugin directory | |
env: | |
SVN_USERNAME: ${{ secrets.SVN_USERNAME }} | |
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }} | |
run: | | |
make svnpush |