ci: align the whole symfony stack on the 8.1 edge job - #8465
Merged
Conversation
The job set minimum-stability to dev but pinned only framework-bundle and
json-streamer to 8.1.x-dev, so serializer, property-info and type-info floated
to 8.2.x-dev. Mixing Symfony minor dev branches is not supported and silently
broke property discovery: nested objects serialized as {} and interface-backed
DTO properties disappeared.
Pin the serializer stack to 8.1.x-dev too so the job reports on Symfony 8.1
rather than on an unsupported combination.
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.
Makes
PHPUnit (PHP 8.5) (Symfony 8.1)report on Symfony 8.1 instead of on an unsupported dependency mix.Problem
The job sets
minimum-stability: devbut pins only two packages:composer require --dev --no-update "symfony/framework-bundle:8.1.x-dev" "symfony/json-streamer:8.1.x-dev"Everything else then floats to the next minor's dev branch. The actual resolution is:
Mixing Symfony minor dev branches is not supported, and here it silently breaks property discovery — nested objects serialize as
{}and interface-backed DTO properties disappear:Evidence
Reproduced locally with the job's own recipe, then varied only the resolution:
So the failures come from the mix, not from API Platform and not from any Symfony version on its own. The
Symfony devjob — which setsminimum-stability: devwithout pins, so everything lands on 8.2.x-dev consistently — does not report these two failures, which matches.Fix
Pin the serializer stack alongside framework-bundle so the job resolves a coherent 8.1 line.
The job stays
continue-on-error: true; this is about the signal being meaningful rather than about turning it into a gate. Without this it reports failures that no user can hit, which is worse than reporting nothing.