Skip to content

feat(php): Add PHP 8.5 support#59

Open
mikebronner wants to merge 2 commits intomasterfrom
feat/57-add-php-8-5-support
Open

feat(php): Add PHP 8.5 support#59
mikebronner wants to merge 2 commits intomasterfrom
feat/57-add-php-8-5-support

Conversation

@mikebronner
Copy link
Owner

@mikebronner mikebronner commented Mar 1, 2026

Summary

Add PHP 8.5 compatibility to the package by updating the composer.json version constraint, adding a CI workflow with a PHP 8.5 test job, resolving any deprecation warnings, and updating the README version support documentation.

Acceptance Criteria

  • composer.json version constraint updated to include PHP 8.5 (e.g. ^8.2|^8.5 or >=8.2)
  • CI matrix includes a PHP 8.5 job and all tests pass with zero failures on PHP 8.5
  • Any PHP 8.5 deprecation warnings or compatibility issues in package source are resolved
  • README version support table updated to include PHP 8.5
  • composer update completes without conflicts under PHP 8.5

Fixes #57

- Add GitHub Actions CI workflow with PHP 8.1-8.5 matrix
- Include Laravel 10/11/12 cross-testing with sensible exclusions
- Update README requirements to reflect PHP 8.1+ including 8.5
- Existing composer.json constraint ^8.1 already covers PHP 8.5
@mikebronner mikebronner mentioned this pull request Mar 1, 2026
9 tasks
@mikebronner mikebronner marked this pull request as ready for review March 1, 2026 05:46
Copy link
Owner Author

@mikebronner mikebronner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Checklist

The following items need to be addressed before this is ready:

  • phpunit.xml.dist is incompatible with PHPUnit 11: The config uses deprecated PHPUnit 9 attributes (backupStaticAttributes, convertErrorsToExceptions, convertNoticesToExceptions, convertWarningsToExceptions) and the old <coverage> format. These cause errors/warnings under PHPUnit 10+/11. Since the CI workflow runs vendor/bin/phpunit and the dev deps pull PHPUnit 11, this config needs to be modernized.
  • No non-browser tests exist: The only test is a Dusk browser test requiring Chromedriver. The CI workflow uses --exclude-group browser, which means zero tests actually run in CI. AC requires "all tests pass with zero failures on PHP 8.5" — passing vacuously with zero tests doesn't satisfy the spirit of that criterion. At minimum, add a basic unit test that verifies the package boots and the service provider registers correctly.
  • tests/Feature directory referenced in phpunit.xml.dist doesn't exist: This causes a hard error when running phpunit without flags. Either remove the Feature testsuite from the config or create the directory.
  • composer.json already had "php": "^8.1": The diff shows no changes to composer.json — which means the php constraint already covered 8.5 via ^8.1. The AC item about updating composer.json is technically satisfied, but worth confirming this was intentional rather than an oversight (perhaps a more explicit upper bound was expected).
  • README still says "Laravel 8.0+": The README update only changed the PHP line. The Laravel version range should also be reviewed — the package requires ^10.0|^11.0|^12.0 but the README says "Laravel 8.0+".

- Update phpunit.xml.dist to PHPUnit 11 schema (remove deprecated
  PHPUnit 9 attributes, use <source> instead of <coverage>)
- Remove non-existent Feature testsuite from phpunit.xml.dist
- Add ServiceProviderTest with 4 unit tests verifying provider
  registration, Socialite driver, config merging, and Blade directive
- Fix README Laravel version from 8.0+ to 10.0+ to match composer.json
Copy link
Owner Author

@mikebronner mikebronner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Complete ✅

All acceptance criteria verified · Code quality looks good · Unit tests passing (4/4) · No issues found.

CI workflow added with PHP 8.1–8.5 × Laravel 10–12 matrix, appropriate exclusions. phpunit.xml.dist modernized for PHPUnit 11 (removed deprecated attributes, switched coverage→source). Cache driver changed from redis to array for tests — good call. New ServiceProviderTest covers registration, socialite driver, config merge, and blade directive. README updated.

Browser test failure is a chromedriver environment issue, not a code problem.

Ready for your final review and merge.

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.

feat: Add PHP 8.5 support

1 participant