Skip to content

CI

CI #1172

Workflow file for this run

name: CI
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: '0 8 * * *'
jobs:
php-cs-fixer:
runs-on: ubuntu-latest
name: Coding Standards
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
coverage: none
tools: php-cs-fixer, cs2pr
- name: PHP Coding Standards Fixer
run: php-cs-fixer fix --dry-run --format checkstyle | cs2pr
phpstan:
runs-on: ubuntu-latest
name: Static Analysis
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
coverage: none
tools: phpstan
- name: Install dependencies
uses: ramsey/composer-install@v2
with:
composer-options: '--prefer-dist'
- name: Install PHPUnit dependencies
run: vendor/bin/simple-phpunit install
- name: PHPStan
run: phpstan analyse --no-progress
phpunit:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: [ '7.2', '7.3', '7.4', '8.0', '8.1' ]
symfony: [ '4.4', '5.2', '5.3', '5.4', '6.0' ]
dependencies: [ 'highest', 'lowest' ]
exclude:
- php: '7.3'
symfony: '5.2'
- php: '7.4'
symfony: '5.2'
- php: '8.0'
symfony: '5.2'
- php: '7.3'
symfony: '5.3'
- php: '7.4'
symfony: '5.3'
- php: '8.0'
symfony: '5.3'
- php: '7.2'
symfony: '6.0'
- php: '7.3'
symfony: '6.0'
- php: '7.4'
symfony: '6.0'
include:
- php: '8.1'
symfony: '6.1'
dependencies: 'highest'
- php: '8.1'
symfony: '6.1'
dependencies: 'lowest'
- php: '8.1'
symfony: '6.2'
dependencies: 'highest'
- php: '8.1'
symfony: '6.2'
dependencies: 'lowest'
- php: '8.1'
symfony: '6.3'
dependencies: 'highest'
- php: '8.1'
symfony: '6.3'
dependencies: 'lowest'
- php: '8.1'
symfony: '6.4'
dependencies: 'highest'
- php: '8.1'
symfony: '6.4'
dependencies: 'lowest'
- php: '8.2'
symfony: '6.4'
dependencies: 'highest'
- php: '8.2'
symfony: '6.4'
dependencies: 'lowest'
- php: '8.2'
symfony: '7.0'
dependencies: 'highest'
- php: '8.2'
symfony: '7.0'
dependencies: 'lowest'
- php: '8.3'
symfony: '6.1'
dependencies: 'highest'
- php: '8.3'
symfony: '6.1'
dependencies: 'lowest'
- php: '8.3'
symfony: '6.2'
dependencies: 'highest'
- php: '8.3'
symfony: '6.2'
dependencies: 'lowest'
- php: '8.3'
symfony: '6.3'
dependencies: 'highest'
- php: '8.3'
symfony: '6.3'
dependencies: 'lowest'
- php: '8.3'
symfony: '6.4'
dependencies: 'highest'
- php: '8.3'
symfony: '6.4'
dependencies: 'lowest'
- php: '8.3'
symfony: '7.0'
dependencies: 'highest'
- php: '8.3'
symfony: '7.0'
dependencies: 'lowest'
env:
SYMFONY_REQUIRE: ${{ matrix.symfony }}.*
SYMFONY_PHPUNIT_VERSION: ${{ matrix.php >= 7.4 && '9.5' || '8.5' }}
name: PHP ${{ matrix.php }} & Symfony ${{ matrix.symfony }}${{ matrix.dependencies == 'lowest' && ' (lowest)' || '' }} Test
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
ini-values: zend.exception_ignore_args=false
tools: flex
- name: Install dependencies
uses: ramsey/composer-install@v2
with:
composer-options: '--prefer-dist'
dependency-versions: ${{ matrix.dependencies }}
- name: Install PHPUnit dependencies
run: vendor/bin/simple-phpunit install
- name: Run tests with Doctrine Annotations
run: vendor/bin/simple-phpunit -v --coverage-text --coverage-clover=coverage-annotations.xml
- name: Remove Doctrine Annotations
run: composer remove --dev doctrine/annotations
- name: Run tests without Doctrine Annotations
run: vendor/bin/simple-phpunit -v --coverage-text --coverage-clover=coverage-no-annotations.xml
- name: Upload coverage to Codecov
if: ${{ success() }}
uses: codecov/codecov-action@v3
with:
files: coverage-annotations.xml,coverage-no-annotations.xml
flags: ${{ matrix.php }}