Upgrade to Symfony7 #7
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: "Lint" | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
env: | |
fail-fast: true | |
permissions: | |
contents: read | |
jobs: | |
php-cs-fixer: | |
name: PHP-CS-Fixer | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Checkout code" | |
uses: actions/checkout@v3 | |
- name: PHP-CS-Fixer | |
uses: docker://oskarstark/php-cs-fixer-ga | |
with: | |
args: --diff --dry-run | |
linters: | |
name: Linters | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: ['8.2'] | |
steps: | |
- name: "Checkout code" | |
uses: actions/checkout@v3 | |
- name: "Install PHP with extensions" | |
uses: shivammathur/setup-php@v2 | |
with: | |
coverage: "none" | |
extensions: intl | |
php-version: ${{ matrix.php-version }} | |
tools: composer:v2 | |
- name: "Set composer cache directory" | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: "Cache composer" | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-${{ matrix.php-version }}-composer-${{ hashFiles('composer.lock') }} | |
restore-keys: ${{ runner.os }}-${{ matrix.php-version }}-composer- | |
- name: "Composer install" | |
run: composer install --no-interaction --no-progress | |
- name: Install PHPUnit | |
id: install | |
run: vendor/bin/simple-phpunit install | |
- name: Lint YAML files | |
if: always() && steps.install.outcome == 'success' | |
run: ./bin/console lint:yaml config --parse-tags | |
- name: Lint Twig templates | |
if: always() && steps.install.outcome == 'success' | |
run: ./bin/console lint:twig templates --env=prod | |
- name: Lint XLIFF translations | |
if: always() && steps.install.outcome == 'success' | |
run: ./bin/console lint:xliff translations | |
- name: Lint Parameters and Services | |
if: always() && steps.install.outcome == 'success' | |
run: ./bin/console lint:container --no-debug | |
- name: Lint Doctrine entities | |
if: always() && steps.install.outcome == 'success' | |
run: ./bin/console doctrine:schema:validate --skip-sync -vvv --no-interaction | |
- name: Lint Composer config | |
if: always() && steps.install.outcome == 'success' | |
run: composer validate --strict | |
- name: Check if any dependencies are compromised | |
if: always() && steps.install.outcome == 'success' | |
run: composer audit | |
- name: Run PHPStan | |
if: always() && steps.install.outcome == 'success' | |
run: ./vendor/bin/phpstan analyze |