Skip to content
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

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Add PHP 8.4 to test matrix #796

wants to merge 3 commits into from

Conversation

ruudk
Copy link
Contributor

@ruudk ruudk commented Sep 11, 2024

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:

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.
@ruudk
Copy link
Contributor Author

ruudk commented Sep 12, 2024

@frederikbosch this one is ready for review.

Copy link
Member

@frederikbosch frederikbosch left a 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",
Copy link
Member

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

Copy link
Contributor Author

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.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Member

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.

Copy link
Member

@frederikbosch frederikbosch left a 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
Copy link
Member

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.

Copy link
Contributor Author

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?

Copy link
Contributor Author

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.

Copy link
Member

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.

Copy link
Contributor Author

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:

php-version: '8.1'

Copy link
Member

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.

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.

2 participants