Merge branch '5.11.x' #1092
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 tests | |
on: | |
push: | |
pull_request: | |
types: [ opened, synchronize, reopened ] | |
jobs: | |
test-php: | |
name: Test on PHP ${{ matrix.php-version }} and ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
continue-on-error: ${{ matrix.experimental }} | |
strategy: | |
matrix: | |
php-version: [ '8.2', '8.3', '8.4' ] | |
os: [ ubuntu-latest ] | |
experimental: [ false ] | |
composer-options: [ '' ] | |
include: | |
- { php-version: '8.5', experimental: true, os: ubuntu-latest, composer-options: '--ignore-platform-req=php+' } | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
# Fetch some commits for Scrutinizer coverage upload | |
fetch-depth: 15 | |
- name: Set up PHP ${{ matrix.php-version }} | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
# phar, json and curl are used by composer | |
# json is used by testing code | |
# dom, json, mbstring, libxml, xml, xmlwriter are used by phpunit | |
# tokenizer, xmlwriter and simplexml are used by phpcs | |
# ctype is used by Psalm | |
extensions: none, mbstring, phar, json, curl, tokenizer, xml, xmlwriter, simplexml, libxml, dom, ctype | |
coverage: xdebug | |
- name: Install Composer dependencies | |
uses: ramsey/composer-install@v3 | |
with: | |
composer-options: ${{ matrix.composer-options }} | |
- name: Run PHP tests | |
run: composer run phpunit | |
- name: Send coverage | |
uses: codecov/codecov-action@v3 | |
- name: Send coverage to Scrutinizer | |
uses: sudo-bot/action-scrutinizer@latest | |
# Do not run this step on forked versions of the main repository (example: contributor forks) | |
if: github.repository == 'phpmyadmin/sql-parser' | |
with: | |
cli-args: "--format=php-clover build/logs/clover.xml --revision=${{ github.event.pull_request.head.sha || github.sha }}" | |
php-benchmark: | |
name: Benchmark on PHP ${{ matrix.php-version }} and ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
continue-on-error: ${{ matrix.experimental }} | |
strategy: | |
matrix: | |
php-version: [ '8.2', '8.3', '8.4' ] | |
os: [ ubuntu-latest ] | |
experimental: [ false ] | |
composer-options: [ '' ] | |
include: | |
- { php-version: '8.5', experimental: true, os: ubuntu-latest, composer-options: '--ignore-platform-req=php+' } | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
# Fetch some commits for Scrutinizer coverage upload | |
fetch-depth: 15 | |
- name: Set up PHP ${{ matrix.php-version }} | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
# phar, json and curl are used by composer | |
# json is used by testing code | |
# dom, json, mbstring, libxml, xml, xmlwriter are used by phpunit | |
# tokenizer, xmlwriter and simplexml are used by phpcs | |
# ctype is used by Psalm | |
extensions: none, mbstring, phar, json, curl, tokenizer, xml, xmlwriter, simplexml, libxml, dom, ctype | |
coverage: xdebug | |
- name: Install Composer dependencies | |
uses: ramsey/composer-install@v3 | |
with: | |
composer-options: ${{ matrix.composer-options }} | |
- name: Run benchmarks | |
run: composer run phpbench |