Skip to content

Tech: require PHP 8.1 and test PHP 8.4 and 8.5 against Laravel 12 and 13 in CI - #34

Merged
edersoares merged 2 commits into
mainfrom
ci-matrix
Sep 30, 2026
Merged

edersoares merged 2 commits into
mainfrom
ci-matrix

Conversation

@edersoares

@edersoares edersoares commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Declares "php": "^8.1" in composer.json. The code uses match, str_starts_with and constructor promotion, and the dev dependencies (Pest 2, Testbench 8) already require 8.1, so this only makes the existing requirement explicit.
  • Splits the workflow into a Lint job (composer validate --strict, pint --test) and a Tests matrix.
  • The matrix runs PHP 8.4 and 8.5 against Laravel 12 (Testbench ^10) and Laravel 13 (Testbench ^11).

Why not Laravel 9, 10 and 11

Composer's default security advisory policy now blocks every release of laravel/framework 10.x and 11.x, so composer update fails for those lines (checked locally with a dry run). Laravel 9 was never testable here since Testbench 7 is not in require-dev. The illuminate/* constraints in composer.json are left untouched in this PR. Narrowing them to ^12|^13 is worth doing in the next release, but that is a separate decision.

Test plan

  • composer validate --strict
  • composer test locally (42 passed)
  • Matrix green on this PR

🤖 Generated with Claude Code

The workflow ran a single job with whatever Composer resolved, so only
the newest Laravel and PHP were exercised. It now runs a matrix of
PHP 8.2 to 8.5 against Laravel 12 and 13 and a separate lint job.

Laravel 10 and 11 are not in the matrix because Composer refuses to
install every release of those lines under its default security
advisory policy.

The package uses PHP 8 syntax and the dev dependencies (Pest 2,
Testbench 8) already require PHP 8.1, so the requirement is declared.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@edersoares edersoares changed the title Tech: require PHP 8.1 and test against Laravel 12 and 13 in CI Tech: require PHP 8.1 and test PHP 8.4 and 8.5 against Laravel 12 and 13 in CI Sep 30, 2026
@edersoares
edersoares merged commit 79b5f66 into main Sep 30, 2026
5 checks passed
@edersoares
edersoares deleted the ci-matrix branch September 30, 2026 17:22
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