Skip to content

fix: restore PHP 8.2 support, exclude incompatible L13+8.2 cell from …#99

Merged
emreakay merged 2 commits into
mainfrom
feat/laravel-13-support
May 22, 2026
Merged

fix: restore PHP 8.2 support, exclude incompatible L13+8.2 cell from …#99
emreakay merged 2 commits into
mainfrom
feat/laravel-13-support

Conversation

@emreakay

Copy link
Copy Markdown
Contributor

…matrix

The previous commit dropped PHP 8.2 from the composer constraint, which broke .github/workflows/phpstan.yml (it pins setup-php to '8.2' and therefore failed during composer install with "Root composer.json requires php ^8.3|^8.4").

Restore PHP 8.2 in composer.json and add it back to the run-tests matrix. The L13 cell on PHP 8.2 is excluded because the Laravel-13 toolchain (orchestra/testbench 11, phpunit 12, pest 4) requires PHP 8.3+; composer's OR constraints (^11.0|^12.0|^13.0 for Laravel, ^9.0|^10.0|^11.0 for Testbench, ^11.0|^12.0 for PHPUnit, ^3.0|^4.0 for Pest) let composer pick the right minor on each PHP version automatically.

Resulting CI matrix (3 PHP × 3 Laravel × 2 stability) − 2 excluded (PHP 8.2 + L13 in both stabilities) = 16 jobs.

Local verification (PHP 8.4 + L13 install):

  • vendor/bin/pest --no-coverage → 137 passed (274 assertions), 48s
  • vendor/bin/phpstan analyse → 0 errors

…matrix

The previous commit dropped PHP 8.2 from the composer constraint, which
broke .github/workflows/phpstan.yml (it pins setup-php to '8.2' and
therefore failed during composer install with "Root composer.json
requires php ^8.3|^8.4").

Restore PHP 8.2 in composer.json and add it back to the run-tests
matrix. The L13 cell on PHP 8.2 is excluded because the Laravel-13
toolchain (orchestra/testbench 11, phpunit 12, pest 4) requires
PHP 8.3+; composer's OR constraints (`^11.0|^12.0|^13.0` for Laravel,
`^9.0|^10.0|^11.0` for Testbench, `^11.0|^12.0` for PHPUnit,
`^3.0|^4.0` for Pest) let composer pick the right minor on each PHP
version automatically.

Resulting CI matrix (3 PHP × 3 Laravel × 2 stability) − 2 excluded
(PHP 8.2 + L13 in both stabilities) = 16 jobs.

Local verification (PHP 8.4 + L13 install):
- vendor/bin/pest --no-coverage  →  137 passed (274 assertions), 48s
- vendor/bin/phpstan analyse     →  0 errors

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@what-the-diff

what-the-diff Bot commented May 22, 2026

Copy link
Copy Markdown

PR Summary

  • Expanded PHP version support in automated tests
    The automated testing process has been updated to include tests for PHP 8.2, widening the coverage for detecting bugs and issues.

  • Excluded certain tests for PHP 8.2 with Laravel 13
    Given certain compatibility issues between PHP 8.2 and Laravel 13, tests for this combination has been excluded to avoid false positives in the testing process.

  • Extended PHP version requirement
    The application's PHP version requirement has been extended to also include PHP 8.2., providing users with more flexibility with their system's PHP version.

The PHPStan workflow's path filter only watched **.php and
phpstan.neon.dist, so the composer.json / matrix changes that broke
PHPStan (when PHP 8.2 was the pinned analyser version and composer.json
required PHP 8.3+) did not retrigger it. Adding composer.json,
composer.lock and the workflow file itself to the path filter ensures
PHPStan is re-validated whenever dependency resolution could be
affected. workflow_dispatch is added for ad-hoc manual runs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@emreakay emreakay merged commit 3cec6f4 into main May 22, 2026
19 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.

1 participant