Skip to content

chore: prepare Symfony 8 compatibility#23

Merged
qdequippe merged 7 commits intoqdequippe:mainfrom
MirakuSan:chore/symfony-8-compatibility
Apr 20, 2026
Merged

chore: prepare Symfony 8 compatibility#23
qdequippe merged 7 commits intoqdequippe:mainfrom
MirakuSan:chore/symfony-8-compatibility

Conversation

@MirakuSan
Copy link
Copy Markdown
Contributor

@MirakuSan MirakuSan commented Apr 17, 2026

✅ Type of PR

  • Refactor
  • Feature
  • Bug Fix
  • Optimization
  • Documentation Update

🗒️ Description

Prepare the package for Symfony 8 and PHP 8.5 support, and reorganize CI into two focused workflows. Library remains compatible with both Symfony 7 and Symfony 8.

🚶‍➡️ Behavior

  • CI is split into a Lint workflow (php-cs-fixer, rector, phpstan, composer audit/validate) and a dedicated Tests workflow.
  • Tests now runs a matrix across PHP 8.3 / 8.4 / 8.5 and Symfony 7.2 / 7.3 / 7.4 / 8.0 / 8.1 (using SYMFONY_REQUIRE + --prefer-stable --ignore-platform-req=php+).
  • composer.json PHP constraint relaxed from ^8.3 to >=8.3 to allow installation on PHP 8.5.
  • composer.json symfony/process constraint widened from ^7.2 to ^7.2 || ^8.0 so downstream projects can migrate to Symfony 8 without resolution failures. Code uses only long-stable Process / ExecutableFinder API — no BC break applies.
  • composer.json now enables sort-packages to keep dependency sections tidy.

🧪 Steps to test

  • Open the PR and confirm the Lint workflow passes.
  • Confirm the Tests workflow runs all matrix combinations and they succeed.
  • Run composer validate locally — should pass.
  • Run composer install on PHP 8.3, 8.4, 8.5 — should succeed.

Separate quality checks (php-cs-fixer, rector, phpstan, composer audit)
from test execution to allow independent scheduling and clearer failure
signals. Tests workflow now runs a PHP 8.3/8.4/8.5 x Symfony 7.3/7.4/8.0/8.1
matrix to prepare Symfony 8 compatibility.
Switch from caret to open lower-bound constraint to allow installing
on PHP 8.5, which is required for the new test matrix and upcoming
Symfony 8 compatibility.
@MirakuSan MirakuSan force-pushed the chore/symfony-8-compatibility branch from 35f9515 to bb6a91f Compare April 17, 2026 19:50
Keep require/require-dev sections alphabetically sorted on each
composer update to reduce noise in future dependency diffs.
@MirakuSan MirakuSan force-pushed the chore/symfony-8-compatibility branch from bb6a91f to 820b1a6 Compare April 17, 2026 19:53
Widen the constraint from ^7.2 to ^7.2 || ^8.0 so projects migrating
to Symfony 8 can install phpdftk. The previous constraint silently
capped the CI matrix at symfony/process 7.x even on Sf 8 rows.

The library only relies on long-stable Process and ExecutableFinder
API (__construct, run, isSuccessful, getOutput, getErrorOutput,
getExitCode, find). PHPStan passes against symfony/process 8.0.8.
Comment thread composer.json Outdated
Comment thread .github/workflows/tests.yaml Outdated
Comment thread .github/workflows/tests.yaml Outdated
Comment thread .github/workflows/lint.yaml Outdated
@qdequippe qdequippe marked this pull request as ready for review April 20, 2026 09:19
@qdequippe qdequippe changed the title chore: prepare Symfony 8 and PHP 8.5 compatibility chore: prepare Symfony 8 compatibility Apr 20, 2026
Drop the explicit 'coverage: none' from setup-php so the default
xdebug driver is installed. Without it, 'phpunit --coverage-clover'
aborts with "No code coverage driver available" which, combined
with failOnWarning=true in phpunit.xml, exits with code 1 before
running any test.
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.02%. Comparing base (e12b7bf) to head (f800116).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##               main      #23   +/-   ##
=========================================
  Coverage     98.02%   98.02%           
  Complexity       78       78           
=========================================
  Files            10       10           
  Lines           304      304           
=========================================
  Hits            298      298           
  Misses            6        6           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@MirakuSan MirakuSan requested a review from qdequippe April 20, 2026 10:24
@qdequippe qdequippe closed this Apr 20, 2026
@qdequippe qdequippe reopened this Apr 20, 2026
@qdequippe qdequippe merged commit 1d6d4a2 into qdequippe:main Apr 20, 2026
30 of 31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants