Merge branch 'master' into prepare-version-1.18 #790
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 Checks | |
on: [ push, pull_request ] | |
jobs: | |
php-lint: | |
name: "PHP linter" | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v2 | |
- name: "Install PHP" | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "${{ matrix.php-version }}" | |
coverage: none | |
tools: composer:v2 | |
- name: "Run PHP lint" | |
run: "composer test:phplint" | |
strategy: | |
fail-fast: false | |
matrix: | |
php-version: | |
- 7.1 | |
- 7.2 | |
- 7.3 | |
- 7.4 | |
- 8.0 | |
- 8.1 | |
- 8.2 | |
php-compatibility: | |
name: "PHPCompatibility" | |
runs-on: ubuntu-20.04 | |
needs: php-lint | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v2 | |
- name: "Install PHP" | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "8.0" | |
coverage: none | |
tools: composer:v2 | |
- name: Prepare TYPO3 | |
uses: ./.github/actions/t3prepare | |
with: | |
php-version: ${{ matrix.php-version }} | |
- name: "Run PHP CS with PHPCompatibility rule" | |
run: "composer test:phpcompat ${{ matrix.php-version }}" | |
strategy: | |
fail-fast: false | |
matrix: | |
php-version: | |
- "7.1" | |
- "7.2" | |
- "7.3" | |
- "7.4" | |
- "8.0" | |
- "8.1" | |
- "8.2" | |
code-style: | |
name: Check code style | |
runs-on: ubuntu-20.04 | |
needs: php-lint | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v2 | |
- name: "Install PHP" | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "${{ matrix.php-version }}" | |
tools: composer:v2 | |
extensions: zip | |
coverage: none | |
- name: "Show Composer version" | |
run: composer --version | |
- name: "Cache dependencies installed with composer" | |
uses: actions/cache@v1 | |
with: | |
key: "php${{ matrix.php-version }}-composer-${{ hashFiles('**/composer.json') }}" | |
path: ~/.composer/cache | |
restore-keys: "php${{ matrix.php-version }}-composer-\n" | |
- name: "Install Composer dependencies" | |
run: "composer install --no-progress" | |
- name: "Run command" | |
run: "${{ matrix.command }}" | |
strategy: | |
matrix: | |
php-version: | |
- 8.2 | |
command: | |
- ".Build/bin/php-cs-fixer fix --diff --dry-run" | |
code-quality: | |
name: Code quality checks | |
runs-on: ubuntu-20.04 | |
needs: php-lint | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v2 | |
- name: "Install PHP" | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "${{ matrix.php-version }}" | |
tools: composer:v2 | |
extensions: zip | |
coverage: none | |
- name: "Show Composer version" | |
run: composer --version | |
- name: "Cache dependencies installed with composer" | |
uses: actions/cache@v1 | |
with: | |
key: "php${{ matrix.php-version }}-composer-${{ hashFiles('**/composer.json') }}" | |
path: ~/.composer/cache | |
restore-keys: "php${{ matrix.php-version }}-composer-\n" | |
- name: "Install Composer dependencies" | |
run: "composer install --no-progress" | |
- name: "Run command" | |
run: "${{ matrix.command }}" | |
strategy: | |
matrix: | |
php-version: | |
- 8.2 | |
command: | |
- "composer test:phpstan" | |
phpunit: | |
name: PHPUnit | |
runs-on: ubuntu-20.04 | |
needs: php-lint | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v2 | |
- name: "Install PHP" | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "${{ matrix.php-version }}" | |
tools: composer:2.2.11 | |
extensions: zip | |
coverage: none | |
- name: "Show Composer version" | |
run: composer --version | |
- name: "Cache dependencies installed with composer" | |
uses: actions/cache@v1 | |
with: | |
key: "php${{ matrix.php-version }}-composer-${{ hashFiles('**/composer.json') }}" | |
path: ~/.composer/cache | |
restore-keys: "php${{ matrix.php-version }}-composer-\n" | |
# The next step is required because the dependencies of PHPStan clash with those of TYPO3 8.7. | |
- name: "Remove PHPStan" | |
run: composer remove --no-update --dev phpstan/phpstan phpstan/phpstan-phpunit phpstan/extension-installer | |
- name: "Install TYPO3 Core" | |
env: | |
TYPO3: "${{ matrix.typo3-version }}" | |
run: | | |
composer require --no-install --no-progress typo3/minimal:"$TYPO3" | |
composer show | |
- name: "Install dependencies with composer" | |
run: | | |
composer update --no-ansi --no-interaction --no-progress --with-dependencies | |
composer show | |
- name: "Run unit tests" | |
run: "TYPO3_PATH_WEB=$PWD/.Build/Web && .Build/bin/phpunit" | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- typo3-version: ^8.7 | |
php-version: 7.1 | |
- typo3-version: ^8.7 | |
php-version: 7.2 | |
- typo3-version: ^9.5 | |
php-version: 7.2 | |
- typo3-version: ^9.5 | |
php-version: 7.3 | |
- typo3-version: ^9.5 | |
php-version: 7.4 | |
- typo3-version: ^10.4 | |
php-version: 7.2 | |
- typo3-version: ^10.4 | |
php-version: 7.3 | |
- typo3-version: ^10.4 | |
php-version: 7.4 | |
- typo3-version: ^11.5 | |
php-version: 8.0 | |
- typo3-version: ^11.5 | |
php-version: 8.1 | |
- typo3-version: ^11.5 | |
php-version: 8.2 | |
- typo3-version: ^12.4 | |
php-version: 8.1 | |
- typo3-version: ^12.4 | |
php-version: 8.2 |