Drop support to Symfony 4.4 #216
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 Pipeline | |
on: | |
push: | |
branches: | |
- "[0-9]+.[0-9]+.x" | |
pull_request: | |
jobs: | |
coding-standard: | |
name: "Coding Standard" | |
runs-on: "${{ matrix.os }}" | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [ "ubuntu-latest" ] | |
php: [ "8.1" ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/[email protected] | |
with: | |
php-version: ${{ matrix.php }} | |
tools: composer:v2, pecl | |
extensions: ds | |
- name: Install dependencies | |
run: composer install --no-progress --prefer-dist --optimize-autoloader | |
- name: Check codestyle | |
run: vendor/bin/phpcs -s | |
static-analysis: | |
name: "Static Analysis" | |
runs-on: "${{ matrix.os }}" | |
strategy: | |
fail-fast: true | |
matrix: | |
php: [ "8.1" ] | |
os: [ "ubuntu-latest" ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/[email protected] | |
with: | |
php-version: ${{ matrix.php }} | |
tools: composer:v2, pecl | |
extensions: ds | |
- name: Install dependencies | |
run: composer install --no-progress --prefer-dist --optimize-autoloader | |
- name: Analyze code with static-analysis | |
run: vendor/bin/phpstan analyse --no-progress | |
unit-tests: | |
name: "Unit Tests" | |
runs-on: "${{ matrix.os }}" | |
continue-on-error: "${{ matrix.experimental }}" | |
strategy: | |
fail-fast: false | |
matrix: | |
php: [ "7.4", "8.0", "8.1", "8.2" ] | |
os: [ "ubuntu-latest" ] | |
experimental: [ false ] | |
tools: ["phpunit:9.6.17", "phpunit:10.5" ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/[email protected] | |
with: | |
php-version: ${{ matrix.php }} | |
tools: ${{ matrix.tools }}, composer:v2, pecl | |
extensions: ds | |
- name: Install dependencies | |
run: composer install --no-progress --prefer-dist --optimize-autoloader ${{ matrix.composer-options }} | |
- # https://github.com/sebastianbergmann/phpunit/tree/9.6 | |
name: Execute tests with PHPUnit 9 | |
if: matrix.tools == 'phpunit:9.6.17' | |
run: phpunit --colors=always --coverage-text --do-not-cache-result --configuration=phpunit-9.xml | |
- # https://github.com/sebastianbergmann/phpunit/tree/10.5 | |
name: Execute tests with PHPUnit 10 | |
if: matrix.tools == 'phpunit:10.5' && matrix.php != '7.4' && matrix.php != '8.0' | |
run: phpunit --colors=always --coverage-text --do-not-cache-result --configuration=phpunit-10.xml --no-progress | |
# This is a "trick", a meta task that does not change, and we can use it in | |
# the protected branch rules as opposed to the tests ones above which | |
# may change regularly. | |
validate-code: | |
name: Code Requirement Check | |
runs-on: ubuntu-latest | |
needs: | |
- coding-standard | |
- static-analysis | |
- unit-tests | |
if: always() | |
steps: | |
- name: Successful run | |
if: ${{ !(contains(needs.*.result, 'failure')) }} | |
run: exit 0 | |
- name: Failing run | |
if: ${{ contains(needs.*.result, 'failure') }} | |
run: exit 1 |