-
Notifications
You must be signed in to change notification settings - Fork 441
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
Add PHP 8.4 to test matrix #796
base: master
Are you sure you want to change the base?
Conversation
I don’t get it why this library forcefully disallows installation on higher / unsupported PHP versions. It’s one of the few dependencies that I know that do this. Can we please relax this so that people can start running their CI on PHP 8.4 already to spot issues and report / fix them here.
@frederikbosch this one is ready for review. |
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.
Looks okay. One remark, we are using the strategy to explicitly state which PHP versions we support. No auto-support of unknown versions.
@@ -24,7 +24,7 @@ | |||
], | |||
"homepage": "http://moneyphp.org", | |||
"require": { | |||
"php": "~8.1.0 || ~8.2.0 || ~8.3.0", | |||
"php": "^8.1", |
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.
Please keep the strategy we used before, explicit support of versions. Just add || ~8.4.0
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.
But then I have to do this every year. It's so annoying, like I stated in the OP. This is one of the few packages that does this. Why.
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.
Even the creator, Composer, doesn't do this: https://github.com/composer/composer/blob/e4038e5e3bffe22cb815dc1663ea76be96d4222e/composer.json#L25
Or PHPStan https://github.com/phpstan/phpstan-src/blob/2251258cdac7ac0aa36cdf88e5924780bc230f70/composer.json#L8
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.
I don't think it's annoying. Especially with people looking for early support of newer PHP versions, like yourself, I find it useful that I know for sure that this package is delivering full-support for it. Moreover, it creates a moment where we can reconsider previous decisions. Maybe it's overly conservative, I am fine with that.
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.
We cannot merge with ignore platform reqs.
run: composer install --classmap-authoritative | ||
- uses: "ramsey/composer-install@v3" | ||
with: | ||
# We need to ignore PHP because Psalm blocks installing it |
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.
I cannot merge with this being part of the PR.
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.
So what do you suggest?
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.
We can remove psalm + the plugin before running tests on PHP 8.4. There is no point for the dependency in that job anyway.
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.
I suggest we wait until they resolve the issue. I subscribe for that PR. Once support is there, we can move forward here.
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.
But this is not a blocker for PHP 8.4. Psalm is only executed on a separate job that runs with PHP 8.1:
money/.github/workflows/ci.yml
Line 78 in 76a94ba
php-version: '8.1' |
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.
First, it's not a bad idea to change that into the latest stable version (8.3). Secondly, since Psalm uses the strategy as this package, we cannot install dependencies, which means we have to wait for them to solve the issue. I don't see a problem here. We are not even in the RC phase of PHP8.4. We wait.
I don’t get it why this library forcefully disallows installation on higher / unsupported PHP versions.
It’s one of the few dependencies that I know that do this.
Can we please relax this so that people can start running their CI on PHP 8.4 already to spot issues and report / fix them here.
Added PHP 8.4 to the test matrix, and it just works fine.
These need to be merged and tagged too: