128 lines
5.0 KiB
YAML
128 lines
5.0 KiB
YAML
name: Build
|
|
|
|
on:
|
|
pull_request: ~
|
|
push: ~
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Setup PHP
|
|
uses: shivammathur/setup-php@v2
|
|
- name: Validate composer.json
|
|
run: composer validate --strict --no-check-lock
|
|
cs-fixer:
|
|
runs-on: ubuntu-20.04
|
|
name: PHP-CS-Fixer
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Setup PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: '7.3'
|
|
- run: composer install --prefer-dist --no-interaction --no-progress --ansi
|
|
- run: vendor/bin/php-cs-fixer fix --diff --dry-run --verbose
|
|
tests:
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- description: 'Symfony 6.4 DEV'
|
|
php: '8.2'
|
|
symfony: '6.4.*@dev'
|
|
- description: 'Symfony 6.3'
|
|
php: '8.3'
|
|
symfony: '6.3.*'
|
|
- description: 'Symfony 6.3'
|
|
php: '8.2'
|
|
symfony: '6.3.*'
|
|
- description: 'Symfony 6.0'
|
|
php: '8.1'
|
|
symfony: '6.0.*'
|
|
- description: 'Symfony 5.0'
|
|
php: '7.3'
|
|
symfony: '5.0.*'
|
|
- description: 'Symfony 4.4'
|
|
php: '7.1'
|
|
symfony: '4.3.*@dev'
|
|
- description: 'Symfony 3.4'
|
|
php: '7.3'
|
|
symfony: '3.4.*'
|
|
- description: 'Beta deps'
|
|
php: '7.2'
|
|
beta: true
|
|
name: PHP ${{ matrix.php }} tests (${{ matrix.description }})
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Cache
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: ~/.composer/cache/files
|
|
key: composer-${{ matrix.php }}-${{ matrix.symfony }}-${{ matrix.composer_option }}
|
|
- name: Setup PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: ${{ matrix.php }}
|
|
- run: |
|
|
sed -ri 's/"symfony\/(.+)": "(.+)"/"symfony\/\1": "'${{ matrix.symfony }}'"/' composer.json;
|
|
if: matrix.symfony
|
|
- run: |
|
|
composer config minimum-stability dev
|
|
composer config prefer-stable true
|
|
if: matrix.beta
|
|
- name: remove cs-fixer for Symfony 6
|
|
if: contains(matrix.symfony, '6.4.*@dev')
|
|
run: |
|
|
composer remove --dev friendsofphp/php-cs-fixer pedrotroller/php-cs-custom-fixer --no-update
|
|
- run: composer update --prefer-dist --no-interaction --no-progress --ansi ${{ matrix.composer_option }}
|
|
- run: vendor/bin/phpunit
|
|
- run: vendor/bin/phpstan analyse --ansi --no-progress
|
|
tests-windows:
|
|
runs-on: windows-2022
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- description: 'Symfony 6.4 DEV'
|
|
php: '8.2'
|
|
symfony: '6.4.*@dev'
|
|
- description: 'Symfony 6.3'
|
|
php: '8.3'
|
|
symfony: '6.3.*'
|
|
- description: 'Symfony 6.3'
|
|
php: '8.2'
|
|
symfony: '6.3.*'
|
|
name: "[WINDOWS] PHP ${{ matrix.php }} tests (${{ matrix.description }})"
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Cache
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: ~/.composer/cache/files
|
|
key: composer-${{ matrix.php }}-${{ matrix.symfony }}-${{ matrix.composer_option }}
|
|
- name: Setup PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: ${{ matrix.php }}
|
|
- run: |
|
|
(Get-Content composer.json) -replace '("symfony/[^"]+": )"[^"]+"', '$1"${{ matrix.symfony }}"' | Out-File -encoding ASCII composer.json
|
|
if: matrix.symfony
|
|
- run: |
|
|
composer config minimum-stability dev
|
|
composer config prefer-stable true
|
|
if: matrix.beta
|
|
- name: remove cs-fixer for Symfony 6
|
|
if: contains(matrix.symfony, '6.4.*@dev')
|
|
run: |
|
|
composer remove --dev friendsofphp/php-cs-fixer pedrotroller/php-cs-custom-fixer --no-update
|
|
- run: composer update --prefer-dist --no-interaction --no-progress --ansi ${{ matrix.composer_option }}
|
|
- run: vendor/bin/phpunit
|
|
- run: vendor/bin/phpstan analyse --ansi --no-progress
|