-
Notifications
You must be signed in to change notification settings - Fork 93
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
Update the documentation and testing matrix for current PHP releases #445
Update the documentation and testing matrix for current PHP releases #445
Conversation
PHPUnit 8.x requires at least PHP 7.2, which is the lowest version of PHP that has yet to reach EOL. Fixes #431.
PHPUnit 8 has deprecated `assertInternalType()` in favor of methods like `assertIsArray()`.
Per the README file, this package only supports versions of PHP that are currently supported by the project. As of a few days ago, that's PHP 7.2 and above. There was also mention of HHVM, but only the LTS releases that still support PHP; unfortunately, that appears to have ended some time ago.
- Include the nightly build of PHP, but permit it to fail - Include `--no-interaction` and `--prefer-dist` when running `composer install` - Remove XDebug before running PHPUnit, which improves performance
@bhelx what are your thoughts on backwards compatibility with old PHP versions? we've tended to keep testing even on unsupported versions for a bit. |
Although technically these versions are not supported, we still have a lot of people who cannot upgrade from At the least, I'd like to keep 7.1, 7.0, and 5.6. I think we're okay to remove the HHVM versions though as I can't find the actual use of these versions in our logs and I don't think we need to support it moving forward. @stevegrunwell what would be the consequences of keeping an older version like |
First, I 💯 realize this gets into more of a business decision rather than something that I — as a customer + OSS contributor — get to weigh in on, but if an outside perspective helps:
Maybe a good middle-ground solution would be:
As an aside, the fact that people are running Recurly — a billing service — on un-supported/unpatched versions of PHP seems like an opportunity for Recurly to help instill consumer trust:
|
@stevegrunwell We greatly appreciate your pragmatism. I'd support the middle ground solution you outlined. I'd like to continue to run the PHP 5 tests even though we aren't explicitly supporting it.
Hey, we completely agree. We do run through our logs and capture stats on these things across all our customers. We try our best to get them to upgrade their systems, but for many of these businesses, they just don't have the resources or ability to upgrade. We've found it very hard to make these kind of arguments. Now that we have a team around Developer Experience though, I think we will be doing more of this in the future. On another note, I wanted to point out that @douglasmiller has made some good progress on the v3 PHP client and it should be ready to test soon. Would you be interested in taking a look at it when it's ready? Since no one is using it yet, we can make sweeping changes to it and we're going to be looking for opinions from our customers using modern PHPs. |
…PUnit 5, the last version to support PHP 5.6
…fficially supported
@bhelx PR has been updated to cover the middle-ground solution discussed.
I wish them all the luck in the world 😄
Absolutely, happy to help however I can! |
Thanks @stevegrunwell ! That was a quick turn around. Apologies for the late response on my end. Either me or Doug will shoot you an email when the code is ready. We will likely send out some comms to our other PHP customers. |
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.
👍
This pull request raises the minimum PHP version to 7.2, per the library's "Supported Versions" documentation.
Additionally, since no currently-supported HHVM releases support PHP 7, HHVM has also been removed.
Changes to the
.travis.yml
file include:nightly
snapshot, but permit the nightly build to failcomposer install
With older PHP versions out of the way, I've also upgraded PHPUnit to version 8 (which requires PHP 7.2+) and made the necessary compatibility fixes to the test suite, which fixes #431.