CI #2200
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: "CI" | |
concurrency: | |
group: "ci-${{ github.head_ref || github.run_id }}" | |
cancel-in-progress: true | |
on: | |
merge_group: | |
pull_request: | |
jobs: | |
ci: | |
name: "Execute" | |
runs-on: ${{ matrix.operating-system }} | |
strategy: | |
fail-fast: false | |
matrix: | |
dependencies: | |
- "lowest" | |
- "highest" | |
- "locked" | |
php-version: | |
- "8.2" | |
- "8.3" | |
operating-system: | |
- "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4 | |
- name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
php-version: "${{ matrix.php-version }}" | |
ini-values: memory_limit=-1 | |
- name: "Update Composer platform version" | |
if: ${{ matrix.dependencies != 'locked' && matrix.php-version != '8.2' }} | |
shell: bash | |
run: "composer config platform.php ${{ matrix.php-version }}" | |
- name: "Install dependencies" | |
uses: ramsey/composer-install@v2 | |
with: | |
dependency-versions: "${{ matrix.dependencies }}" | |
- name: "Validate Composer dependencies" | |
run: "composer validate" | |
- name: "Lint composer.json" | |
run: "composer normalize --dry-run" | |
- name: "Check Composer dependency licenses" | |
run: "composer licenses:check" | |
- name: "Run linting" | |
run: "composer lint" | |
- name: "Run security check" | |
run: "composer security:check" | |
- name: "Run coding style" | |
if: ${{ matrix.dependencies == 'locked' && matrix.php-version == '8.2' }} | |
run: "composer code-style:check" | |
- name: "Run PHPStan" | |
if: ${{ matrix.dependencies == 'locked' }} | |
run: "composer phpstan" | |
- name: "Run Deptrac" | |
if: ${{ matrix.dependencies == 'locked' }} | |
run: "composer deptrac" | |
- name: "Run Rector" | |
if: ${{ matrix.dependencies == 'locked' }} | |
run: "composer rector:check" | |
- name: "Unit tests" | |
run: "composer tests:unit" |