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

Update to Symfony 7 #1457

Merged
merged 1 commit into from
Dec 20, 2023
Merged

Update to Symfony 7 #1457

merged 1 commit into from
Dec 20, 2023

Conversation

javiereguiluz
Copy link
Member

No description provided.

composer.json Show resolved Hide resolved
@javiereguiluz
Copy link
Member Author

I don't understand the failing test. It says:

Verifying lock file contents can be installed on current platform.
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run `composer update` or `composer update <package name>`.
- Required package "symfony/phpunit-bridge" is not present in the lock file.
This usually happens when composer files are incorrectly merged or the composer.json file is manually edited.
Read more about correctly resolving merge conflicts https://getcomposer.org/doc/articles/resolving-merge-conflicts.md
and prefer using the "require" command over editing the composer.json file directly https://getcomposer.org/doc/03-cli.md#require-r
Error: Process completed with exit code 4.

BUT, symfony/phpunit-bridge is in the lock file:

https://github.com/symfony/demo/pull/1457/files#diff-f37acfaa6b11f575a9a6f41a75fa73a61d0f8ebc2c9b8cddc215d8aca10e44f5R8898

@dmaicher
Copy link
Contributor

dmaicher commented Dec 1, 2023

@javiereguiluz this seems related to sebastianbergmann/phpunit#5578 and fixed by symfony/symfony#52846

Maybe try using composer require symfony/phpunit-bridge "7.0.x-dev as 7.0.1" --dev to see if it works then

@javiereguiluz
Copy link
Member Author

@dmaicher it worked! Thanks a lot 🙇

Copy link
Contributor

@dmaicher dmaicher left a comment

Choose a reason for hiding this comment

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

7.0.1 was relased 😃 👍

composer.json Outdated Show resolved Hide resolved
@javiereguiluz javiereguiluz merged commit 3edba75 into symfony:main Dec 20, 2023
chalasr added a commit to lexik/LexikJWTAuthenticationBundle that referenced this pull request Dec 27, 2023
This PR was squashed before being merged into the 2.x branch.

Discussion
----------

[CI] Fixed CI for PHP 7.2

This PR is my attempt at fixing the "always green" build for 7.2 (mentioned in #1183 (comment))

Things done:
1) I've bumped the PHPUnit Bridge version to the latest one.

According to [PHPUnit Bridge doc](https://symfony.com/doc/current/components/phpunit_bridge.html#installation):
```
The PHPUnit bridge is designed to work with all maintained versions of Symfony components, even across different major versions of them. You should always use its very latest stable major version to get the most accurate deprecation report.
```

Allowing phpunit-bridge range of `"^4.4|^5.4|^6.0|^7.0"` together with `--prefer-lowest` means that the 4.4.0 version of it is installed - which doesn't have all the required bugfixes.

I've chosen ^7.0 as the latest one, for the 7.x series 7.0.1 is needed because it contains the bugfix for this issue: symfony/demo#1457 (comment)

2) Set PHPUnit 9.5 as the max version

The 7.2 build cannot use PHPUnit 9.5, [it requires PHP 7.3](https://github.com/sebastianbergmann/phpunit/blob/9.5.0/composer.json#L24)

I've set this as max version instead - it will be used if possible, otherwise lower versions will be used.

3) Bumped lowest supported version of lcobucci/jwt to 3.4.6

One of the tests was failing:
```
1) Lexik\Bundle\JWTAuthenticationBundle\Tests\Functional\GetTokenTest::testGetTokenWithCustomClaim
Failed asserting that two arrays are identical.
--- Expected
+++ Actual
@@ @@
 Array &0 (
     0 => 'foo'
-    1 => 'bar'
 )
```

This was fixed by bumping the version of lcobucci/jwt to 3.4.6 - I suspect it contains bugfix not present in 3.4.0

4) Run PHP 7.2 tests on ubuntu-20

I found this issue when googling: shivammathur/setup-php#720
```
If you are running this on the ubuntu-latest or ubuntu-22.04 runner, that has OpenSSL 3 and support for it was added to PHP in 8.1. Please use ubuntu-20.04 runner with the older PHP versions and this should work.
```

And it was right, all of a sudden the segmentation faults have disappeared.

Overall I feel everything I did was a bit hacky, but the build is now green 🎉

Commits
-------

29c88f2 [CI] Fixed CI for PHP 7.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants