This repository has been archived by the owner on Oct 12, 2024. It is now read-only.
Abandon #42
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: | |
push: | |
branches: | |
- 'master' | |
env: | |
fail-fast: true | |
TZ: "Europe/Paris" | |
REQUIRED_PHP_EXTENSIONS: "dom" | |
jobs: | |
composer-validate: | |
name: "Composer validate (${{ matrix.php-version }})" | |
runs-on: "ubuntu-latest" | |
strategy: | |
matrix: | |
php-version: | |
- '7.3' | |
steps: | |
- | |
name: "Checkout code" | |
uses: "actions/checkout@v2" | |
- | |
name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: "none" | |
php-version: "${{ matrix.php-version }}" | |
tools: composer:v2 | |
- | |
name: "Validate composer.json" | |
run: "composer validate --strict --no-check-lock" | |
php-cs-fixer: | |
needs: | |
- "composer-validate" | |
name: "PHP-CS-Fixer (${{ matrix.php-version }})" | |
runs-on: "ubuntu-latest" | |
strategy: | |
matrix: | |
php-version: | |
- '7.4' | |
steps: | |
- | |
name: "Checkout code" | |
uses: "actions/checkout@v2" | |
- | |
name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: "none" | |
extensions: "${{ env.REQUIRED_PHP_EXTENSIONS }}" | |
php-version: "${{ matrix.php-version }}" | |
tools: composer:v2 | |
- | |
name: "Composer install" | |
uses: "ramsey/composer-install@v1" | |
with: | |
composer-options: "--no-scripts" | |
- | |
name: "Run friendsofphp/php-cs-fixer" | |
run: "vendor/bin/php-cs-fixer fix --dry-run --diff --verbose" | |
phpstan: | |
needs: | |
- "composer-validate" | |
name: "PHPStan (${{ matrix.php-version }})" | |
runs-on: "ubuntu-latest" | |
strategy: | |
matrix: | |
php-version: | |
- '7.4' | |
steps: | |
- | |
name: "Checkout code" | |
uses: "actions/checkout@v2" | |
- | |
name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: "none" | |
extensions: "${{ env.REQUIRED_PHP_EXTENSIONS }}" | |
php-version: "${{ matrix.php-version }}" | |
tools: composer:v2 | |
- | |
name: "Composer install" | |
uses: "ramsey/composer-install@v1" | |
with: | |
composer-options: "--no-scripts" | |
- | |
name: "Run phpstan/phpstan" | |
run: "vendor/bin/phpstan analyse --level=7 lib" | |
tests: | |
needs: | |
- "composer-validate" | |
name: "PHP ${{ matrix.php-version }} + ${{ matrix.dependency }}" | |
runs-on: ubuntu-latest | |
continue-on-error: ${{ matrix.allow-failures }} | |
strategy: | |
matrix: | |
php-version: | |
- '7.3' | |
- '7.4' | |
- '8.0' | |
dependency: | |
- 'lowest' | |
- 'highest' | |
with-examples: ['yes'] | |
allow-failures: [false] | |
include: | |
- php-version: '7.3' | |
dependency: 'lowest' | |
with-examples: 'no' | |
allow-failures: false | |
coverage: xdebug | |
- php-version: '8.1' | |
dependency: 'highest' | |
with-examples: 'no' | |
allow-failures: true | |
coverage: xdebug | |
steps: | |
- name: "Checkout code" | |
uses: actions/[email protected] | |
- name: "Install PHP with extensions" | |
uses: shivammathur/[email protected] | |
with: | |
extensions: "${{ env.REQUIRED_PHP_EXTENSIONS }}" | |
php-version: ${{ matrix.php-version }} | |
tools: composer:v2 | |
- name: "Add PHPUnit matcher" | |
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" | |
- name: "Remove friendsofphp/php-cs-fixer" | |
run: composer remove --dev friendsofphp/php-cs-fixer --no-update | |
- name: "Composer install" | |
uses: "ramsey/composer-install@v1" | |
with: | |
dependency-versions: "${{ matrix.dependency }}" | |
- name: PHP Info | |
run: php --version | |
- name: "Run tests with PHPUnit" | |
run: vendor/bin/phpunit --verbose |