Add hooks for create and delete with ID #2519
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 Unit Tests | |
on: | |
push: | |
branches: | |
- trunk | |
- develop | |
paths: | |
- "**.php" | |
- composer.json | |
- composer.lock | |
- .github/workflows/php-unit-tests.yml | |
pull_request: | |
paths: | |
- "**.php" | |
- composer.json | |
- composer.lock | |
- .github/workflows/php-unit-tests.yml | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
GetMatrix: | |
name: Get WP and WC version Matrix | |
runs-on: ubuntu-latest | |
outputs: | |
wp-versions: ${{ steps.wp.outputs.versions }} | |
wc-versions: ${{ steps.wc.outputs.versions }} | |
latest-wc-version: ${{ fromJson(steps.wc.outputs.versions)[0] }} | |
steps: | |
- name: Get Release versions from Wordpress | |
id: wp | |
uses: woocommerce/grow/get-plugin-releases@actions-v1 | |
with: | |
slug: wordpress | |
- name: Get Release versions from WooCommerce | |
id: wc | |
uses: woocommerce/grow/get-plugin-releases@actions-v1 | |
with: | |
slug: woocommerce | |
UnitTests: | |
name: PHP unit tests - PHP ${{ matrix.php }}, WP ${{ matrix.wp-version || 'latest' }}, WC ${{ matrix.wc-versions || 'latest' }} | |
needs: GetMatrix | |
runs-on: ubuntu-latest | |
env: | |
WP_CORE_DIR: "/tmp/wordpress/src" | |
WP_TESTS_DIR: "/tmp/wordpress/tests/phpunit" | |
strategy: | |
matrix: | |
php: [ 8.2 ] | |
wp-version: [ latest ] | |
wc-versions: ${{ fromJson(needs.GetMatrix.outputs.wc-versions) }} | |
include: | |
- php: 8.3 | |
wp-version: latest | |
wc-versions: latest | |
- php: 7.4 | |
wp-version: ${{ fromJson(needs.GetMatrix.outputs.wp-versions)[2] }} # L-2 WP Version support | |
wc-versions: ${{ fromJson(needs.GetMatrix.outputs.wc-versions)[2] }} # L-2 WC Version support | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- if: matrix.wc-versions == needs.GetMatrix.outputs.latest-wc-version && matrix.php == 8.2 | |
name: Set condition to generate coverage report (only on latest versions) | |
run: echo "generate_coverage=true" >> $GITHUB_ENV | |
- name: Prepare PHP | |
uses: woocommerce/grow/prepare-php@actions-v1 | |
with: | |
php-version: "${{ matrix.php }}" | |
coverage: "${{ env.generate_coverage == 'true' && 'xdebug' || 'none' }}" | |
- name: Prepare MySQL | |
uses: woocommerce/grow/prepare-mysql@actions-v1 | |
- name: Install WP tests | |
run: ./bin/install-wp-tests.sh wordpress_test root root localhost ${{ matrix.wp-version }} ${{ matrix.wc-versions }} | |
- if: env.generate_coverage != 'true' | |
name: Run PHP unit tests | |
run: composer test-unit | |
- if: env.generate_coverage == 'true' | |
name: Run PHP unit tests (with code coverage) | |
run: XDEBUG_MODE=coverage vendor/bin/phpunit --coverage-clover=tests/php-coverage/report.xml | |
- if: env.generate_coverage == 'true' | |
name: PHP unit coverage report | |
uses: codecov/codecov-action@v3 | |
with: | |
files: tests/php-coverage/report.xml | |
flags: php-unit-tests | |
name: php-coverage-report |