Add package fetch strategy field #27
Workflow file for this run
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 code & configuration | |
on: | |
pull_request: | |
push: | |
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@v4 | |
- name: Install PHP with extensions | |
uses: shivammathur/setup-php@v2 | |
with: | |
coverage: none | |
extensions: intl | |
php-version: "8.2" | |
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@v4 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Install dependencies | |
id: install | |
run: composer install --ansi --no-interaction --no-progress | |
- name: PHP-CS-Fixer | |
run: ./vendor/bin/php-cs-fixer fix --diff --dry-run | |
linters: | |
name: Linters | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: ["8.2"] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- 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@v4 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Install dependencies | |
id: install | |
run: composer install --ansi --no-interaction --no-progress | |
- name: Lint YAML files | |
if: always() && steps.install.outcome == 'success' | |
run: bin/console lint:yaml .github config translations --parse-tags | |
- name: Lint Twig templates | |
if: always() && steps.install.outcome == 'success' | |
run: bin/console lint:twig templates --env=prod | |
#- name: Lint XLIFF translation files | |
# if: always() && steps.install.outcome == 'success' | |
# run: bin/console lint:xliff translations | |
#- name: Lint translation contents | |
# if: always() && steps.install.outcome == 'success' | |
# run: bin/console lint:translations | |
- name: Lint Parameters and Services | |
if: always() && steps.install.outcome == 'success' | |
run: bin/console lint:container --no-debug | |
- name: Lint Composer config | |
if: always() && steps.install.outcome == 'success' | |
run: composer validate | |
# todo enable strict mode, currently license is invalid | |
# run: composer validate --strict | |
- name: Check if any dependencies are compromised | |
if: always() && steps.install.outcome == 'success' | |
run: composer audit | |
- name: Check if any Symfony recipes are outdated | |
if: always() && steps.install.outcome == 'success' | |
run: composer recipes --outdated --no-interaction | |
#- name: Run PHPStan | |
# if: always() && steps.install.outcome == 'success' | |
# run: ./vendor/bin/phpstan analyze |