Improve GitHub workflow configurations #33
Workflow file for this run
This file contains hidden or 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] | |
| jobs: | |
| linters: | |
| name: Linters | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install PHP with extensions | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: 8.3 | |
| tools: composer:v2 | |
| - name: Set Composer cache directory | |
| id: composer-cache | |
| run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
| - name: Cache Composer output | |
| 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 Composer dependencies | |
| id: composer-install | |
| run: composer install --ansi --no-interaction --no-progress | |
| - name: Lint Composer configuration | |
| if: always() && steps.composer-install.outcome == 'success' | |
| run: composer validate --ansi | |
| # todo enable strict mode, currently license is invalid | |
| # run: composer validate --strict --ansi | |
| - name: Lint Symfony service container | |
| if: always() && steps.composer-install.outcome == 'success' | |
| run: bin/console lint:container --ansi | |
| - name: Lint translation files | |
| if: always() && steps.composer-install.outcome == 'success' | |
| run: bin/console lint:translations --ansi | |
| - name: Lint Twig templates | |
| if: always() && steps.composer-install.outcome == 'success' | |
| run: bin/console lint:twig templates --ansi | |
| - name: Lint YAML files | |
| if: always() && steps.composer-install.outcome == 'success' | |
| run: bin/console lint:yaml .github config translations --parse-tags --ansi | |
| #- name: Lint XLIFF translation files | |
| # if: always() && steps.composer-install.outcome == 'success' | |
| # run: bin/console lint:xliff translations --ansi | |
| 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: | |
| php-version: 8.3 | |
| tools: composer:v2 | |
| - name: Set Composer cache directory | |
| id: composer-cache | |
| run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
| - name: Cache Composer output | |
| 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 Composer dependencies | |
| run: composer install --ansi --no-interaction --no-progress | |
| - name: Run PHP-CS-Fixer | |
| run: vendor/bin/php-cs-fixer fix --diff --dry-run --ansi --show-progress none | |
| phpstan: | |
| name: PHPStan | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install PHP with extensions | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: 8.3 | |
| tools: composer:v2 | |
| - name: Set Composer cache directory | |
| id: composer-cache | |
| run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
| - name: Cache Composer output | |
| 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 Composer dependencies | |
| run: composer install --ansi --no-interaction --no-progress | |
| - name: Run PHPStan | |
| run: vendor/bin/phpstan analyze --ansi --no-progress |