Skip to content

chore(deps): update codecov/codecov-action digest to e79a696 #108

chore(deps): update codecov/codecov-action digest to e79a696

chore(deps): update codecov/codecov-action digest to e79a696 #108

Workflow file for this run

name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
permissions:
contents: read
jobs:
tests:
name: PHP ${{ matrix.php }} - Symfony ${{ matrix.symfony }} - Composer ${{ matrix.composer }}${{ matrix.prefer-lowest && ' (lowest)' || '' }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: ['8.4', '8.5']
symfony: ['5.4.*', '6.4.*', '7.4.*', '8.0.*']
composer: ['2.2', '2.9']
include:
# Validate declared dependency minimums (lowest stable resolution)
# against Composer LTS — catches under-constrained requires.
- php: '8.4'
symfony: '5.4.*'
composer: '2.2'
prefer-lowest: true
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup PHP
uses: shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # v2
with:
php-version: ${{ matrix.php }}
tools: composer:${{ matrix.composer }}
extensions: mbstring, xml, ctype, iconv
coverage: none
- name: Validate composer.json
run: composer validate --strict
- name: Get Composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache Composer packages
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-php-${{ matrix.php }}-symfony-${{ matrix.symfony }}-composer-${{ matrix.composer }}-${{ matrix.prefer-lowest && 'low' || 'high' }}-${{ hashFiles('**/composer.json') }}
restore-keys: |
${{ runner.os }}-php-${{ matrix.php }}-symfony-${{ matrix.symfony }}-composer-${{ matrix.composer }}-
${{ runner.os }}-php-${{ matrix.php }}-symfony-${{ matrix.symfony }}-
${{ runner.os }}-php-${{ matrix.php }}-
${{ runner.os }}-php-
- name: Install dependencies
env:
SYMFONY_VERSION: ${{ matrix.symfony }}
UPDATE_FLAGS: ${{ matrix.prefer-lowest && '--prefer-lowest --prefer-stable' || '' }}
run: |
composer require "symfony/yaml:${SYMFONY_VERSION}" "symfony/console:${SYMFONY_VERSION}" --no-update --no-interaction
# shellcheck disable=SC2086
composer update --prefer-dist --no-progress ${UPDATE_FLAGS}
- name: Run tests (incl. @group network — GitHub + git)
env:
# Set to 1 only in air-gapped environments; default runs live clone tests.
SKIP_NETWORK_TESTS: ${{ vars.SKIP_NETWORK_TESTS }}
run: vendor/bin/phpunit --testdox
code-quality:
name: Code Quality
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup PHP
uses: shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # v2
with:
php-version: '8.4'
extensions: mbstring, xml, ctype, iconv
tools: php-cs-fixer
coverage: none
- name: Get Composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache Composer packages
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-php-8.4-composer-${{ hashFiles('**/composer.json') }}
restore-keys: |
${{ runner.os }}-php-8.4-composer-
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Run PHPStan
run: vendor/bin/phpstan analyse --error-format=github
- name: Run PHP-CS-Fixer (dry run)
run: php-cs-fixer fix --dry-run --diff --allow-risky=yes
coverage:
name: Code Coverage
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup PHP
uses: shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # v2
with:
php-version: '8.4'
extensions: mbstring, xml, ctype, iconv
coverage: xdebug
- name: Get Composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache Composer packages
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-php-8.4-composer-${{ hashFiles('**/composer.json') }}
restore-keys: |
${{ runner.os }}-php-8.4-composer-
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Run tests with coverage
run: vendor/bin/phpunit --coverage-text --coverage-clover=coverage.xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6
with:
files: ./coverage.xml
fail_ci_if_error: false