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

Drop PHP 8.1, add Symfony 7 support #460

Merged
merged 3 commits into from
Dec 3, 2023
Merged

Conversation

VincentLanglet
Copy link
Contributor

Close #458

This could require a 1.34 release on infection-static-analysis-plugin (friendly ping @Ocramius if you have some time, or if I can help about some blockers)

@fredden
Copy link
Contributor

fredden commented Dec 1, 2023

It seems like when 1.3.4 of the infection-static-analysis-plugin package gets released, the renovate robot will update that package, and then rebase #458, which will then work. That only leaves the change to "config.platform" here; is that relevant to the fix?

@Ocramius
Copy link
Collaborator

Ocramius commented Dec 1, 2023

I don't see how the blocker comes from that package? No symfony/ declared there: https://github.com/Roave/infection-static-analysis-plugin/blob/b0e22f96b33e7f7390764820d002fdda71c22497/composer.json#L15-L21

@VincentLanglet
Copy link
Contributor Author

I don't see how the blocker comes from that package? No symfony/ declared there: Roave/infection-static-analysis-plugin@b0e22f9/composer.json#L15-L21

1.33.0 stick the infection/infection library to 0.27.0
https://github.com/Roave/infection-static-analysis-plugin/blob/1.33.0/composer.json#L18

And infection/infection supports for SF7 is released in 0.27.7

@Ocramius
Copy link
Collaborator

Ocramius commented Dec 1, 2023

Nothing from Renovate there yet: will do it once that shows up (anywhere from 1 day to a month, usually)

@VincentLanglet
Copy link
Contributor Author

Nothing from Renovate there yet: will do it once that shows up (anywhere from 1 day to a month, usually)

Sorry, i'm not sure to understand if this message was for me.

You already merged a PR from renovate in your infection SA plugin, so the 1.34.x branch is using infection/infection: 0.27.8
https://github.com/Roave/infection-static-analysis-plugin/blob/1.34.x/composer.json#L18

But currently there is no 1.34 release, so the ComposerRequireChecker checker still use the 1.33 one which restrict infection/infection: 0.27.0. Unless I'm mistaken, we need in the order

  • A infection-static-analysis-plugin release 1.34
  • Using the release 1.34 here
  • Allowing Symfony 7.0 here

@Ocramius
Copy link
Collaborator

Ocramius commented Dec 1, 2023

@Ocramius
Copy link
Collaborator

Ocramius commented Dec 1, 2023

iz releazed

@VincentLanglet
Copy link
Contributor Author

Thanks, PR updated (cc @maglnet)

@Ocramius
Copy link
Collaborator

Ocramius commented Dec 2, 2023

Ooof, composer.lock shifted meanwhile :-\

@Ocramius Ocramius added this to the 4.8.0 milestone Dec 2, 2023
"php": "8.1.99"
"php": "8.2.99"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Wait, this change is not valid: we're still supporting 8.1.x, so we should pin the composer update operations performed (by renovate and similar) to PHP 8.1, unless we drop support for it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Should I add some Ci to check we can install symfony 7 ?
Because I think symfony 7 require php 8.2.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I'm also fine with dropping PHP 8.1 and calling it a day, tbh, but don't have a clean solution right now 🤔

Copy link
Contributor

Choose a reason for hiding this comment

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

8.1 is still used by around 37% of requests to packagist.org, 8.2 and up is only 33%. And the installation instructions state: Just download the latest PHAR and run it. Just sayin...

Copy link
Collaborator

Choose a reason for hiding this comment

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

The percentage of existing users on 8.1 is totally irrelevant: we have old releases for that, which are very much valid.

Problem here is testing Symfony 7 while still enforcing a 8.2.99 platform: one possible way is --ignore-platform-req=php for CI pipelines targeting latest dependencies, but it introduces instability.

At that point, I'd say that dropping PHP 8.1 is the simplest way forward instead: I got shit to do, and making everyone happy won't get me paid anyway :P

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I updated the PR and tried to drop PHP 8.1 then

Copy link
Collaborator

Choose a reason for hiding this comment

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

This is fine here, thanks!

Please relax the symfony constraint though: we need at least one release allowing both major versions there

@Ocramius Ocramius changed the title Add Symfony 7 support Drop PHP 8.1, add Symfony 7 support Dec 3, 2023
composer.json Outdated
"ext-phar": "*",
"composer-runtime-api": "^2.0.0",
"nikic/php-parser": "^4.17.1",
"symfony/console": "^6.4.1",
"symfony/console": "^7.0.1",
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is it possible to still allow symfony/console:^6 to allow others to upgrade? Otherwise we're punching them with a heavy multi-dependency bump 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sure, I updated the PR

@@ -30,7 +30,7 @@
"ext-phar": "*",
"composer-runtime-api": "^2.0.0",
"nikic/php-parser": "^4.17.1",
"symfony/console": "^7.0.1",
"symfony/console": "^6.4.1 || ^7.0.1",
Copy link
Collaborator

Choose a reason for hiding this comment

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

This needs lockfile hash updates

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Copy link
Collaborator

@Ocramius Ocramius left a comment

Choose a reason for hiding this comment

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

Thanks @VincentLanglet!

@Ocramius Ocramius self-assigned this Dec 3, 2023
@Ocramius Ocramius merged commit 1c7498e into maglnet:4.8.x Dec 3, 2023
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants