-
Notifications
You must be signed in to change notification settings - Fork 1
[BREAKING] Add PHP 8.1+ support (drops PHP 7.4) #27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
- Update composer.json to support PHP versions 7.4 through 8.4 - Update CI workflow to test against PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 - Update composer.lock to reflect new PHP version constraints Co-Authored-By: Ben Sinclair <ben.sinclair@yourgiving.co>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Please address this error in all the Github actions tests. Error: This request has been automatically failed because it uses a deprecated version of |
- Update actions/checkout from v2 to v4 - Update actions/cache from v2 to v4 - Resolves CI failure due to deprecated action versions Co-Authored-By: Ben Sinclair <ben.sinclair@yourgiving.co>
Co-Authored-By: Ben Sinclair <ben.sinclair@yourgiving.co>
Co-Authored-By: Ben Sinclair <ben.sinclair@yourgiving.co>
I remove the explicit PHP version from composer.json (see 3ebbec9) and need you to update composer. |
Co-Authored-By: Ben Sinclair <ben.sinclair@yourgiving.co>
…ymfony/deprecation-contracts Co-Authored-By: Ben Sinclair <ben.sinclair@yourgiving.co>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR modernizes the PHP version support by dropping PHP 7.4 and adding support for PHP 8.1-8.4. The main driver was resolving a dependency conflict with phpspec/prophecy that prevented PHP 8.2+ usage.
- Upgraded minimum PHP requirement from 7.4 to 8.0 and added support through 8.4
- Resolved phpspec/prophecy dependency constraint blocking PHP 8.2+
- Updated CI matrix to test all supported PHP versions with MySQL and PostgreSQL
Reviewed Changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.
File | Description |
---|---|
composer.json | Updated PHP requirement to >=8.0, added explicit phpspec/prophecy ^1.22.0 and additional dev dependencies |
.github/workflows/tests.yml | Expanded CI matrix to test PHP 8.0-8.4 and updated GitHub Actions to v4 |
Add PHP 8.1+ support
Summary
This PR upgrades the
tithely/exo
repository to support PHP versions 8.0 through 8.4+ by:>=7.4 <8.5
to>=8.0
(open-ended, dropping PHP 7.4 support)actions/checkout@v2
andactions/cache@v2
to v4doctrine/instantiator ^1.5
andsymfony/deprecation-contracts ^2.4
to maintain PHP 8.0 compatibilityAll 20 CI checks now pass across the full PHP version matrix with both MySQL and PostgreSQL databases.
Review & Testing Checklist for Human
Recommended test plan: Set up test databases locally, create sample migrations, and verify they work correctly across PHP 8.0, 8.2, and 8.4 with both MySQL and PostgreSQL.
Diagram
Notes
doctrine/instantiator
andsymfony/deprecation-contracts
was necessary to prevent PHP 8.1+ dependencies from breaking PHP 8.0 compatibilitytests/db.yml
configuration, so CI validation is critical for database-dependent functionality