Skip to content

PHP Tests

PHP Tests #1241

Workflow file for this run

name: PHP Tests
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: '24 20 * * *'
jobs:
lint-phpcs-phpstan:
runs-on: ubuntu-latest
strategy:
matrix:
php-version:
- "7.4"
- "8.0"
- "8.1"
- "8.2"
- "8.3"
- "8.4"
run:
- composer lint
- composer phpcs
- composer phpstan
update-options:
- ""
- "--prefer-lowest"
exclude:
- php-version: "7.4"
run: composer lint
- php-version: "8.0"
run: composer lint
- php-version: "8.1"
run: composer lint
- php-version: "8.2"
run: composer lint
include:
- php-version: "7.4"
run: composer lint-7.x
- php-version: "8.0"
run: composer lint-8.0
- php-version: "8.1"
run: composer lint-8.1
- php-version: "8.2"
run: composer lint-8.2
steps:
- uses: actions/checkout@v4
- name: OS info
run: cat /etc/os-release
- name: "Install PHP"
uses: shivammathur/setup-php@v2
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
- name: PHP info
run: |
php -v
php -m
- name: Validate composer.json
run: composer validate --strict --no-interaction
- name: Install dependencies
run: composer update --no-progress --no-interaction ${{ matrix.update-options }}
- name: Run tests
run: ${{ matrix.run }}
lint-neon:
runs-on: ubuntu-latest
strategy:
matrix:
php-version:
- "8.2"
- "8.3"
- "8.4"
update-options:
- ""
- "--prefer-lowest"
steps:
- uses: actions/checkout@v4
- name: "Install PHP"
uses: shivammathur/setup-php@v2
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
- name: PHP info
run: |
php -v
php -m
- name: Install dependencies
run: composer update --no-progress --no-interaction ${{ matrix.update-options }}
- name: Run tests
run: composer lint-neon
phpunit:
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
php-version:
- "7.4"
- "8.0"
- "8.1"
- "8.2"
- "8.3"
- "8.4"
operating-system:
- ubuntu-latest
- windows-latest
update-options:
- ""
- "--prefer-lowest"
steps:
- uses: actions/checkout@v4
- name: "Install PHP"
uses: shivammathur/setup-php@v2
with:
coverage: "pcov"
php-version: "${{ matrix.php-version }}"
- name: PHP info
run: |
php -v
php -m
- name: Install dependencies
run: composer update --no-progress --no-interaction ${{ matrix.update-options }}
- name: Run tests
run: composer phpunit