fix: restore PHP 8.3 installs and align Pest CI with SQLite#143
Merged
Conversation
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to #141. Restores real PHP 8.3 support for
composer create-project, and aligns the Pest GitHub Action with Larament’s SQLite defaults.Problem
After #141 landed, Installation CI still failed on PHP 8.3 because
composer.lockhad resolved to Symfony 8.1, which requires PHP>=8.4.1.That was a lockfile resolution issue — not a Laravel/Filament floor:
^8.3^8.3^8.2Larament correctly targets PHP 8.3+ (Laravel + Pest). Filament would allow 8.2, but that is irrelevant here.
Separately,
.github/workflows/pest.ymlstarted a MySQL service even though:.env.exampledefaults toDB_CONNECTION=sqlitephpunit.xmlforcessqlite+:memory:for testsSo MySQL was unused setup noise.
Changes
PHP 8.3-compatible lockfile
composer.lockunder a temporary PHP 8.3 platform constraint, then removed that platform config.symfony/process: ^7.4.5 || ^8.0.5).composer.jsononphp: ^8.3.8.3in the Installation workflow matrix (8.3/8.4/8.5× Ubuntu, macOS, Windows).Pest workflow → SQLite
.github/workflows/pest.yml.database/database.sqlitebeforephp artisan migrateso migrate matches.env.example.phpunit.xml.Files
composer.lockcomposer.jsonphp: ^8.3.github/workflows/installation.yml.github/workflows/pest.ymlREADME.mdWhy this matters
create-projectinstalls from the committed lockfile. If the lock drifts onto Symfony 8.x, PHP 8.3 users hit hard Composer failures even though Laravel 13 and Pest 4 officially support 8.3. This PR makes the lock match that support again, and makes Pest CI reflect the same SQLite stack users get by default.Test plan
composer create-projectsmoke on PHP 8.3