Skip to content

Merge branch 'master' into prepare-version-1.18 #790

Merge branch 'master' into prepare-version-1.18

Merge branch 'master' into prepare-version-1.18 #790

Workflow file for this run

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