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

PHP 8.3 compatibility checks. #608

Merged
merged 2 commits into from
Dec 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ jobs:
include:
- php: 7.2
composer-flags: "--prefer-lowest"
- php: '8.3'
composer-flags: "--ignore-platform-req=php+" # TODO move that to a normal job without flag once phpspec supports it

steps:
- uses: actions/checkout@v3
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
],

"require": {
"php": "^7.2 || 8.0.* || 8.1.* || 8.2.*",
"php": "^7.2 || 8.0.* || 8.1.* || 8.2.* || 8.3.*",
Copy link
Member

Choose a reason for hiding this comment

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

Merging this is a no-go until PHP 8.3 is released as it would block us from doing releases. As said in #607, the way to try the PHP unreleased version is to use the --ignore-platform-req=php+ option of composer.

Copy link
Contributor

Choose a reason for hiding this comment

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

@stof out of curiosity: why adding constraint for the next PHP version blocks the releases? 🤔

Copy link
Member

Choose a reason for hiding this comment

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

Because for a mocking library, making a release that marks a PHP version as supported while it does not mock properly the code for the new version is a very bad idea.
As a mocking library, new language features often require adapting the library (and so are kind of BC breaks for us).

For devs wanting to try pre-release versions of 8.3, composer already provides exactly the feature you need for that (and testing newer PHP versions is the exact reason why this feature was introduced in composer, so it is the intended usage)

Copy link
Contributor

Choose a reason for hiding this comment

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

Thank you very much for the explanation, totally makes sense 👍.

Copy link

Choose a reason for hiding this comment

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

@stof, happy to share that 8.3 is now released ;)
but I bet you already aware ;)

"phpdocumentor/reflection-docblock": "^5.2",
"sebastian/comparator": "^3.0 || ^4.0 || ^5.0",
"doctrine/instantiator": "^1.2 || ^2.0",
Expand Down