Sort plugin modal tabs #478
Workflow file for this run
This file contains hidden or 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: Run PHPUnit Tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| # Cancels all previous workflow runs for pull requests that have not completed. | |
| concurrency: | |
| # The concurrency group contains the workflow name and the branch name for pull requests | |
| # or the commit hash for any other events. | |
| group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| # Runs the PHPUnit tests for FAIR. | |
| # | |
| # Performs the following steps: | |
| # - Checks out the repository. | |
| # - Sets up PHP. | |
| # - Installs Composer dependencies. | |
| # - Installs SVN. | |
| # - Installs the test suite. | |
| # - Runs the PHPUnit tests. | |
| # - Ensures version-controlled files are not modified. | |
| phpunit: | |
| name: Run tests (WP ${{ matrix.wp-version }}, PHP ${{ matrix.php-version }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| php-version: [ '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ] | |
| wp-version: [ '5.4', '5.5', '5.6', '5.7', '5.8', '5.9', '6.0', '6.1', '6.2', '6.3', '6.4', '6.5', '6.6', '6.7' ] | |
| exclude: | |
| # PHP 8.4 exclusions | |
| - wp-version: '6.6' | |
| php-version: '8.4' | |
| - wp-version: '6.5' | |
| php-version: '8.4' | |
| - wp-version: '6.4' | |
| php-version: '8.4' | |
| - wp-version: '6.3' | |
| php-version: '8.4' | |
| - wp-version: '6.2' | |
| php-version: '8.4' | |
| - wp-version: '6.1' | |
| php-version: '8.4' | |
| - wp-version: '6.0' | |
| php-version: '8.4' | |
| - wp-version: '5.9' | |
| php-version: '8.4' | |
| - wp-version: '5.8' | |
| php-version: '8.4' | |
| - wp-version: '5.7' | |
| php-version: '8.4' | |
| - wp-version: '5.6' | |
| php-version: '8.4' | |
| - wp-version: '5.5' | |
| php-version: '8.4' | |
| - wp-version: '5.4' | |
| php-version: '8.4' | |
| # PHP 8.3 exclusions | |
| - wp-version: '6.3' | |
| php-version: '8.3' | |
| - wp-version: '6.2' | |
| php-version: '8.3' | |
| - wp-version: '6.1' | |
| php-version: '8.3' | |
| - wp-version: '6.0' | |
| php-version: '8.3' | |
| - wp-version: '5.9' | |
| php-version: '8.3' | |
| - wp-version: '5.8' | |
| php-version: '8.3' | |
| - wp-version: '5.7' | |
| php-version: '8.3' | |
| - wp-version: '5.6' | |
| php-version: '8.3' | |
| - wp-version: '5.5' | |
| php-version: '8.3' | |
| - wp-version: '5.4' | |
| php-version: '8.3' | |
| # PHP 8.2 exclusions | |
| - wp-version: '6.0' | |
| php-version: '8.2' | |
| - wp-version: '5.9' | |
| php-version: '8.2' | |
| - wp-version: '5.8' | |
| php-version: '8.2' | |
| - wp-version: '5.7' | |
| php-version: '8.2' | |
| - wp-version: '5.6' | |
| php-version: '8.2' | |
| - wp-version: '5.5' | |
| php-version: '8.2' | |
| - wp-version: '5.4' | |
| php-version: '8.2' | |
| # PHP 8.1 exclusions | |
| - wp-version: '5.8' | |
| php-version: '8.1' | |
| - wp-version: '5.7' | |
| php-version: '8.1' | |
| - wp-version: '5.6' | |
| php-version: '8.1' | |
| - wp-version: '5.5' | |
| php-version: '8.1' | |
| - wp-version: '5.4' | |
| php-version: '8.1' | |
| # PHP 8 exclusions | |
| - wp-version: '5.8' # Should work, currently doesn't. | |
| php-version: '8.0' | |
| - wp-version: '5.7' # Should work, currently doesn't. | |
| php-version: '8.0' | |
| - wp-version: '5.6' # Introduced PHP 8 beta support. Should work, currently doesn't. | |
| php-version: '8.0' | |
| - wp-version: '5.5' | |
| php-version: '8.0' | |
| - wp-version: '5.4' | |
| php-version: '8.0' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@master | |
| - name: Setup MySQL with mysql_native_password | |
| uses: shogo82148/actions-setup-mysql@v1 | |
| with: | |
| mysql-version: ${{ matrix.wp-version >= '5.0' && '8.0' || '5.6' }} | |
| my-cnf: | | |
| bind_address=127.0.0.1 | |
| default-authentication-plugin=mysql_native_password | |
| root-password: root | |
| - name: Set up PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php-version }} | |
| coverage: none | |
| extensions: mysql, mysqli | |
| tools: composer, wp-cli, phpunit:${{ matrix.wp-version < '5.1' && '6' || ( matrix.wp-version < '5.9' || matrix.php-version < '8.0' ) && '7' || '9' }}, phpunit-polyfills:^1.1.0 | |
| env: | |
| COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Install Composer dependencies | |
| run: composer install --optimize-autoloader --prefer-dist | |
| - name: Install SVN | |
| run: sudo apt-get update && sudo apt-get install -y subversion | |
| - name: Install test suite | |
| run: | | |
| echo "WP_VERSION=${{ matrix.wp-version }}" >> $GITHUB_ENV | |
| echo "TMPDIR=${{ runner.temp }}" >> $GITHUB_ENV | |
| echo "WP_TESTS_DIR=${{ runner.temp }}/wordpress-tests-lib" >> $GITHUB_ENV | |
| echo "WP_CORE_DIR=${{ runner.temp }}/wordpress" >> $GITHUB_ENV | |
| TMPDIR=${{ runner.temp }} bash bin/install-wp-tests.sh wordpress_test root root 127.0.0.1 ${{ matrix.wp-version }} | |
| - name: Run PHPUnit tests | |
| run: | | |
| echo "define('WP_TESTS_PHPUNIT_POLYFILLS_PATH', '$HOME/.composer/vendor/yoast/phpunit-polyfills');" >> ${{ runner.temp }}/wordpress-tests-lib/wp-tests-config.php | |
| phpunit | |
| - name: Ensure version-controlled files are not modified or deleted | |
| run: git diff --exit-code |