[TASK] Add support for PHP 8.2 and 8.3 #59
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: CI | |
on: | |
- pull_request | |
jobs: | |
check-composer: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: cachix/install-nix-action@v17 | |
with: | |
nix_path: nixpkgs=channel:nixos-unstable | |
- name: Validate composer.json | |
run: nix-shell --pure --run project-validate-composer | |
php-linting: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- 7.4 | |
- 8.0 | |
- 8.1 | |
- 8.2 | |
- 8.3 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "${{ matrix.php-version }}" | |
coverage: none | |
tools: composer:v2 | |
- name: PHP lint | |
run: "find *.php Classes Configuration Tests -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l" | |
xml-linting: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: cachix/install-nix-action@v17 | |
with: | |
nix_path: nixpkgs=channel:nixos-unstable | |
- name: Validate XML | |
run: nix-shell --pure --run project-validate-xml | |
coding-guideline: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: cachix/install-nix-action@v17 | |
with: | |
nix_path: nixpkgs=channel:nixos-unstable | |
- name: Check Coding Guideline | |
run: nix-shell --pure --run project-coding-guideline | |
code-quality: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- php-version: '7.4' | |
- php-version: '8.0' | |
- php-version: '8.1' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "${{ matrix.php-version }}" | |
coverage: none | |
tools: composer:v2 | |
- name: Install dependencies | |
run: |- | |
composer require --no-interaction --prefer-dist --no-progress | |
./vendor/bin/codecept build | |
- name: Code Quality (by PHPStan) | |
run: ./vendor/bin/phpstan analyse | |
tests-mysql: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- php-version: '7.4' | |
- php-version: '8.0' | |
- php-version: '8.1' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "${{ matrix.php-version }}" | |
coverage: none | |
tools: composer:v2 | |
- name: Setup MySQL | |
uses: mirromutth/[email protected] | |
with: | |
mysql version: '8' | |
mysql database: 'typo3' | |
mysql root password: 'root' | |
- name: Wait for MySQL | |
run: | | |
while ! mysqladmin ping --host=127.0.0.1 --password=root --silent; do | |
sleep 1 | |
done | |
- name: Install dependencies | |
run: composer install --no-interaction --prefer-dist --no-progress | |
- name: PHPUnit Tests | |
env: | |
typo3DatabaseDriver: "pdo_mysql" | |
typo3DatabaseName: "typo3" | |
typo3DatabaseHost: "127.0.0.1" | |
typo3DatabaseUsername: "root" | |
typo3DatabasePassword: "root" | |
run: ./vendor/bin/phpunit --testdox | |
tests-acceptance: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: cachix/install-nix-action@v17 | |
with: | |
nix_path: nixpkgs=channel:nixos-unstable | |
- name: Run Acceptance Tests | |
run: nix-shell --pure --run project-test-acceptance |