ci: raise inter-component floors so the PHP 8.5 lowest jobs pass - #8445
Open
ousamabenyounes wants to merge 1 commit into
Open
ci: raise inter-component floors so the PHP 8.5 lowest jobs pass#8445ousamabenyounes wants to merge 1 commit into
ousamabenyounes wants to merge 1 commit into
Conversation
ousamabenyounes
force-pushed
the
fix-8444-doctrine-common-lowest
branch
2 times, most recently
from
August 10, 2026 16:58
b808dd8 to
25e0db5
Compare
Contributor
Author
|
Extended to json-api: same class of defect. Its |
ousamabenyounes
force-pushed
the
fix-8444-doctrine-common-lowest
branch
from
August 16, 2026 16:51
25e0db5 to
9ae0e0e
Compare
The doctrine-orm/odm and json-api bridges declared "^5.0@alpha" for siblings whose APIs they now use, but those APIs first shipped in 5.0.0-alpha.2, so --prefer-lowest installs alpha.1 and the components fail at runtime: - orm/odm filters use NameConverterAwareTrait, which doctrine-common only ships from v5.0.0-alpha.2 (added in api-platform#8351): Trait "ApiPlatform\\Doctrine\\Common\\Filter\\NameConverterAwareTrait" not found - json-api ItemNormalizer resolves the operation for a circular reference through behaviour serializer only has from v5.0.0-alpha.2: OperationNotFoundException: Operation "" not found for resource "CircularReference" Raise each floor to the real released version that provides the behaviour, so the declared constraint matches what the code actually needs.
ousamabenyounes
force-pushed
the
fix-8444-doctrine-common-lowest
branch
from
August 22, 2026 23:42
9ae0e0e to
e7d0456
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
doctrine-orm,doctrine-odmandjson-apideclare^5.0@alphafor siblingcomponents whose APIs they already use. Under
--prefer-lowestComposer honoursthat constraint literally and installs
5.0.0-alpha.1, which does not providethose APIs — so the three
PHP 8.5 lowestcomponent jobs fail. The declaredconstraint is simply narrower than what the code needs; this widens it to the
released version that actually provides the behaviour.
This is not a pin to make CI green:
5.0.0-alpha.2is a real published release,and
alpha.1genuinely cannot run this code.doctrine-orm / doctrine-odm
src/Doctrine/Orm/Filterandsrc/Doctrine/Odm/Filter(2 files each) useApiPlatform\Doctrine\Common\Filter\NameConverterAwareTrait, added todoctrine-common in #8351. The file is absent from the
v5.0.0-alpha.1tag andpresent from
v5.0.0-alpha.2:so the lowest job dies before it can assert anything:
json-api
ItemNormalizerresolves the operation for a circular reference throughbehaviour that serializer only has from
v5.0.0-alpha.2.Test verification (before → after)
Reproduced the
PHP 8.5 lowestcomponent job exactly as CI runs it —cdintothe component,
composer update --prefer-lowest --prefer-source, then thecomponent's own PHPUnit — on
main, with only the constraint changed:doctrine-orm
Before (
api-platform/doctrine-common: ^5.0@alpha→ resolves 5.0.0-alpha.1):After (
^5.0.0-alpha.2→ resolves 5.0.0-alpha.2):json-api
Before (
api-platform/serializer: ^5.0@alpha→ resolves 5.0.0-alpha.1):After (
^5.0.0-alpha.2→ resolves 5.0.0-alpha.2):That local failure is the same string the CI job reports, so the reproduction is
faithful and not an artefact of the local setup.
Note on CI visibility
These three jobs currently cannot be seen failing on
main, because every jobaborts earlier at
composer global require "soyuka/pmu:"—mainlost thePMU_VERSIONenv entry in a merge up. #8474 restores it; with that applied, theCI surfaces exactly the two failures this PR fixes.